我写了一个旅游APP.There是20二维码在每个地方。
当游客使用二维码扫描仪扫描二维码时,ImageButton的图像必须转换为另一幅图像。
这一行的问题是: spot1.setImageResource(R.drawable.hotspot1);
如果我删除这一行,没有问题。
我不知道该怎么解决它。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (0 == requestCode && null != data && data.getExtras() != null) {
String result = data.getExtras().getString("la.droid.qr.result");
int spotnum=Integer.valueOf(result);
switch(spotnum){
case 1:
ImageButton spot1=(ImageButton)findViewById(R.id.imageButton1);
spot1.setImageResource(R.drawable.hotspot1);
setContentView(R.layout.hotspot1);
break;
case 2:
setContentView(R.layout.hotspot2);
break;
}
}
}这是我的日志:http://i.stack.imgur.com/6y2UQ.png
发布于 2015-05-14 14:20:33
在调用setContentView之前,不能从xml初始化任何视图:
setContentView(R.layout.hotspot1);
ImageButton spot1=(ImageButton)findViewById(R.id.imageButton1);
spot1.setImageResource(R.drawable.hotspot1);发布于 2015-05-14 14:21:48
设置view resource后,不能调用setContentView。在onCreate中调用一次set,而不从contentView设置任何视图。
然后,您可以更改布局内容,但不要再次调用setContentView。
您正在使用image view,但没有在它之前调用setContentView。这使得ImageView为null,因此出现错误。
试着按照上面的建议去做,它会成功的。祝你编码愉快。
https://stackoverflow.com/questions/30230498
复制相似问题