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

我是通过第一个页面的一个按钮来启动第二个页面,就和视频教程中的一样,不同的是我在第二个页面上并没有设置按钮,而是一个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();

}


baobao9888
浏览 1769回答 5
5回答

fairyzoro

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

cpn2015

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

fairyzoro

感觉你这顺序有点乱。两个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了,那么如果直接点了返回呢,直接点返回是不走按钮的。大致就这么些了。虽然上面说到的方法不多,但还是整个流程值得琢磨琢磨的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android