我是通过第一个页面的一个按钮来启动第二个页面,就和视频教程中的一样,不同的是我在第二个页面上并没有设置按钮,而是一个textview的文本显示,然后再传到一个数值给第一个页面。现在可以实现第二页面正常传达了数值给第一个页面,但是,第二个页面却是没有显示出来,看不到,不显示。下面是第二个页面的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_layoutxml); textView = (TextView) findViewById(R.id.textView1); textView.setText("this is the second layout"); try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } Intent data = new Intent(); data.putExtra("data", "888"); setResult(2, data); finish(); }
5 回答
fairyzoro
TA贡献9条经验 获得超1个赞
感觉你这顺序有点乱。两个Activity,第一个是AActivity,第二个是AActivity。
A -->B传值,那就是是在A里写 intent = new Intent(), intent.put....
B要接收传值,在BActivity里的onCreate里写,intent.get...... 注意看 是get
比如说是get得到了String类型,那就把这个strset到TextView里,就显示了。
如果B --> A, 再传回去,那就是setResult了,A要接就是onActivityResult。
B -->A 一定能传回去吗,不一定,为什么,生命周期呀,如果写在错误的地方,Activity的生命周期路过不到,那也是传不回去的。比如你在按钮里直接setResult了,那么如果直接点了返回呢,直接点返回是不走按钮的。
大致就这么些了。虽然上面说到的方法不多,但还是整个流程值得琢磨琢磨的。
- 5 回答
- 0 关注
- 1768 浏览
添加回答
举报
0/150
提交
取消