1

如何通过intent和bundle将textview的值获取到android中的两个不同活动请告诉我..我的代码如下:

Activity1.java

Intent intent = new Intent(Activity1.this,Activity2.class);
Bundle bundle = new Bundle();
bundle.putString("title",ed1.getText().toString());
intent.putExtras(bundle);
startActivity(intent);

Activity2.java

Intent intent = new Intent(Activity1.this,Activity2.class);
Bundle bundle = this.getIntent().getExtras();
String title = bundle.getString("title");
tv = (TextView)findViewById(R.id.projectTitle);
tv.setText(title);
bundle.putString("tit",title);

Activity3.java B

undle bundle = this.getIntent().getExtras();
tv = (TextView)findViewById(R.id.Projecttitle);
tv.setText(til);

它在活动 1 和活动 2 中运行良好,但在活动 2 和活动 3 之间运行良好

4

2 回答 2

2

您需要将数据置于意图中,以便将数据从第二个活动设置为第三个活动。如果您无法保持静止,请将代码发布到您在第二个活动中实际将数据添加到意图的位置以及您在第三个活动中获取数据的位置。

尝试这个:

Intent intent = new Intent(Activity2.this,Activity3.class);

intent.putExtra("title",title)
startActivity(intent);

获取第三个活动中的值:

String title = getIntent().getStringExtra("title");

注意:当您的标题在第二个活动中没有更改时,您不需要像editText.getText().toString();putextra 方法中那样执行此步骤。

于 2012-12-26T09:38:57.667 回答
2

您的代码不起作用,因为您没有从 activity3.java 中的 bundle 获取字符串值,

在 activity2.java 中更新您的以下代码

Intent intent = new Intent(Activity1.this,Activity2.class);
intent.putExtra("title",tv.getText().toString());
startActivity(intent);

onCreate()并在Activity3.java的方法中更新您的以下代码

Bundle bundle = getIntent().getExtras();
String til = bundle.getString("title");
TextView tv = (TextView)findViewById(R.id.Projecttitle);
tv.setText(til);

它会解决你的问题。

于 2012-12-26T09:34:06.620 回答