我有 2 个活动,这是第二个活动的布局(摘录):
<TextView
android:id="@+id/user"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/city"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
在第一个 Activity 中从 JSON 解析相应的值,并调用第二个 Activity 中的函数 setValues:
String user = oj.getString("user");
String city = oj.getString("city");
act2.setValues(user, city);
在第二个 Activity 中,代码如下所示:
user = (TextView) findViewById(R.id.user);
city = (TextView) findViewById(R.id.city);
public void setValues(String user, String city) {
Log.d("user", user); // THIS IS BEING RETURNED
this.user.setText(user);
this.city.setText(city);
}
正在调用此函数并返回“用户”,但TextView
s 中的文本没有更改。
使用可运行:
Intent intent = new Intent(this, Act2.class);
startActivity(intent);
run();
public void run() {
Log.d("run", "it's running"); // IS RETURNED
desc.setValues(user, city);
}
// SECOND ACTIVITY
public void setValues(String user, String city) {
Log.d("user", user); // IS RETURNED
this.user.setText(user);
this.city.setText(city);
}
不幸的是,结果仍然是一样的:TextViews 仍然是空的。