从另一个视图获取 JSONObject 值



所以我有一个名为 recuperationJson 的类,它将 json 数据存储到JsonObject中,并在解析我main_activity.xml中的一些TextView后显示它们,它运行良好,这是代码的一部分:

jObj = new JSONObject(valeurARenvoyer);
hauteur = jObj.getString("Niveau_Eau");//se place a l'endroit Niveau_Eau du json et obtient le string apres les :
// debit = jObj.getString("Debit");
date = jObj.getString("Date_Releve");
batterie = jObj.getString("Charge_Batterie");
presence = jObj.getString("Etat_Perimetrique");

我想在另一个名为 BatteryActivity 的类中显示其中一个值,它显示另一个名为 activity_battery.xml 的视图

目前,此视图仅显示我的菜单和背景,我已经尝试了一些,但没有找到。我看到了一些实现Serializable的示例,但我不明白如何在我的代码中做到这一点。

假设您只想通过活动传递字符串

在活动 A 中:

String myString = "my text view string";
Intent i = new Intent(this,ActivityB.class);
i.putStringExtra("MyStringKey",myString);
startActivity(i);

在活动 B 中:

String myString = getIntent().getStringExtra("MyStringKey");
myTextView.setText(myString);

如果你想传递一个完整的对象,我建议你使用Gson

在活动 A 中:

MyModel myModel = new Gson().fromJson(myJsonString,MyModel.class);
Intent i = new Intent(this,ActivityB.class);
i.putExtra("MyModelKey",myModel);
startActivity(i);

在活动 B 中:

MyModel myModel = getIntent().getSerializableExtra("MyModelKey");
myTextView.setText(myModel.getName());

考虑到您的模型必须implement Serializable

此示例

使用您希望从 JSON 中获得的字段创建一个类"Data",并在此类中实现 Serializable。

然后将创建的新对象传递给活动 B 并带有 Intent

Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("data", data);
startActivity(intent);

最新更新