我尝试使用一项活动并让它使用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)'在空对象引用上
我没有设法找到与此相关的任何内容。有什么建议?
答案 0 :(得分:0)
活动一次只能激活1个XML布局,这是通过Activity.setContentView(R.layout.file_name)
决定的。
调用该方法时,新的视图层次结构将被夸大。然后,您必须使用Activity.findViewById(R.id.view_id)
在视图层次结构中查找视图以引用视图。
您获得NullPointerException
的原因是您尝试查找视图层次结构中不存在的视图ID。当发生这种情况时,Activity.findViewById()
将返回null
。我猜你试图找到一个只存在于一个布局中的视图ID,但内容视图当前正在显示另一个布局。您需要合并两个XML文件'将内容合并为一个,然后将其设置为内容视图。