2012-02-01 95 views
0

我已经开发了几年的网络应用程序,并且决定使用本书开始我的android开发之路:开始wrox的Android应用程序开发。从另一个活动请参考活动布局

在某些时候,本书解释了如何从意图获得结果(标题为“从意向返回结果”)。

这些步骤如下:

  1. 本书介绍了如何通过添加一些新的控件更改的main.xml布局文件。
  2. 书中介绍如何改变,这将是第二个(活性2)活动,它说,这个活动应该是指不同的活动的布局通过调用 ​Button btn = (Button) findViewById(R.id.btn_OK); 因为btn_OK在的布局定义主要活动(而不是Activity2中的一个,它在main.xml中)该方法返回null。

的正式文档描述:

public View findViewById (int id) 
Since: API Level 1 

查找所有的鉴定通过从在onCreate(Bundle)处理的XML中的id属性的图。

所以我错过了这里的东西还是这本书不正确?

回答

0

在Activity中使用findViewById()在onCreate()的setContentView()中使用的布局xml文件中搜索。

如果两个活动使用不同的layout.xml文件,这些文件中的按钮可能具有相同的id,并且不会混淆(通过findViewById())。

0

在活动1

public static Button btn; 
void onCreate(...) { 
    btn = (Button) findViewById(R.id.btn_OK); 
} 

在活性2:

​Button btn = Activity1.btn; 

注意:当您使用意向导航到活性2,不叫activity1.finish(),因为这会破坏BTN;