从布局xml文件创建的对象为null

时间:2011-12-29 18:51:23

标签: android android-layout

我有两个扩展activity类的类。每个类都有自己的布局类main.xmlcompose.xml

在我的主要活动中,我尝试访问compose.xml中的布局元素。所以:

EditText smsBody = (EditText)findViewById(R.id.smsBody);

但是smsBody是null。为什么?我该如何访问它?

3 个答案:

答案 0 :(得分:1)

好吧,您的主要活动有main.xml布局。您的撰写活动具有compose.xml布局。假设您的“smsBody”EditText位于compose.xml布局中,那么这只能在您的撰写活动中访问,因为您的main.xml布局中不存在该窗口小部件。

答案 1 :(得分:1)

当main活动有布局main.xml时,你怎么能期望你可以访问compose.xml的组件?你想使用setContentView()设置你在布局中的视图。

在特殊情况下我们也需要使用其他布局,因此您可以使用LayoutInflater来实现此目的

答案 2 :(得分:1)

您是否在onCreate()方法中设置了内容视图?

就像这个例子一样:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}