为了账号安全,请及时绑定邮箱和手机立即绑定

Instent传递的问题:启动第二个页面后不显示第二个页面的内容

Instent传递的问题:启动第二个页面后不显示第二个页面的内容

baobao9888 2015-12-21 21:59:08
我是通过第一个页面的一个按钮来启动第二个页面,就和视频教程中的一样,不同的是我在第二个页面上并没有设置按钮,而是一个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个赞

不明白可以继续问,不过觉得可以深入问的了,你再看看Android 线程,handler,异步任务相关的东西吧

查看完整回答
反对 回复 2015-12-23
  • 郑州军装
    郑州军装
    太有心了,支持
  • fairyzoro
    fairyzoro
    电脑端各种群弹的烦,手机端各种关不掉,半夜睡觉也会自动弹消息。 so 现在很少上Q了。
?
cpn2015

TA贡献1条经验 获得超0个赞

因为你第二个界面在oncreate里面就finish()了,怎么可能会能看到第二个界面,界面生成并不是setContentView之后就会生成的。

查看完整回答
反对 回复 2015-12-22
?
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了,那么如果直接点了返回呢,直接点返回是不走按钮的。


大致就这么些了。虽然上面说到的方法不多,但还是整个流程值得琢磨琢磨的。



查看完整回答
反对 回复 2015-12-21
  • baobao9888
    baobao9888
    很感谢您的回复,但是您的回复我没有看的太明白。你说的这些我都知道。但是您并没有按照我的描述来解答我的问题。还有,Activity的生命周期是自己可以控制的,它是不会自己平白无故的发生和毁灭的,而我在第二个页面里面的代码中用了一个finish(),就是用以结束第二个页面的,但这个跟我的问题是没有关系的。我可以正常的实现传递的,从我的代码中你应该很容易的看出来我既然是用了setResult(2, data);那就说明这个是回传的页面,并且我在描述中也说明白了我这个是第二个页面的代码。请您再仔细看一下我的问题,您的回复好像有点是自己再跟自己说话呢,跟我的问题没有什么关系。我传递正常,我只是问为什么不显示第二个页面。
  • 5 回答
  • 0 关注
  • 1735 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信