从另一个视图获取JSONObject值

时间:2017-03-16 16:16:06

标签: java android

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

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的示例,但我不知道如何在我的代码中执行此操作。

2 个答案:

答案 0 :(得分:0)

让我们假装您只想通过活动传递字符串

ActivityA中的

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

在ActivityB中:

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

如果你想传递整个物体,我会建议你使用Gson

ActivityA中的

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

在ActivityB中:

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

请注意您的模型必须为此示例implement Serializable

答案 1 :(得分:0)

使用您想要的JSON字段创建一个“Data”类,并在此类中实现Serializable。

然后使用Intent

将创建的新对象传递给Activity B.
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("data", data);
startActivity(intent);