一个活动可以使用两个xmls吗?

时间:2016-04-20 00:43:05

标签: android xml

我尝试使用一项活动并让它使用2个或更多xmls。

我需要活动来从两个不同的xmls中更改资源图像,

private TextView hinttext;
private TextView[] txtv = new TextView[16];

hinttext是一个xml,里面有一张图片 并且数组txtv包含其他图片。

当我尝试更改txtv时,没有问题,但是当我尝试更改hinttext资源图像时,我得到:

  

java.lang.NullPointerException:尝试调用虚方法' void android.widget.TextView.setBackgroundResource(int)'在空对象引用上

我没有设法找到与此相关的任何内容。有什么建议?

1 个答案:

答案 0 :(得分:0)

活动一次只能激活1个XML布局,这是通过Activity.setContentView(R.layout.file_name)决定的。

调用该方法时,新的视图层次结构将被夸大。然后,您必须使用Activity.findViewById(R.id.view_id)在视图层次结构中查找视图以引用视图。

您获得NullPointerException的原因是您尝试查找视图层次结构中不存在的视图ID。当发生这种情况时,Activity.findViewById()将返回null。我猜你试图找到一个只存在于一个布局中的视图ID,但内容视图当前正在显示另一个布局。您需要合并两个XML文件'将内容合并为一个,然后将其设置为内容视图。