BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #6054同步于 2012/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【求助】关于一个貌似不太难的更换图片的问题。。

EastDon
2012/4/19镜像同步1 回复
RT。 感觉这个问题应该不难,但是我就是没找到解决的方法。。所以求助来了。。 鉴于本人为菜鸟一枚。。先谢过各位了。。 这是选修课项目要用的一个小程序。。目的是在弹出的对话框之后执行一个随机函数然后将ImageView里面的图片更换了。。 问题是我每次运行到更换图片的语句的时候就报错了。。 是不是因为对象的访问权限的问题?。。。但是我已经把ImageView对象设为全局对象了啊?。。 想不通了。。 求助各位,贴代码如下: package wdm.sanguoshahelper; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ImageView; import android.widget.Toast; public class role extends Activity { public ImageView roleimg; public int random; public void dialog(){ AlertDialog.Builder mdialog = new AlertDialog.Builder(this); mdialog.setTitle("请将设备反面朝上扣于桌面上,翻面时将自动分配身份"); DialogInterface.OnClickListener oklis =new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub int random=(int) Math.round(Math.random()*6); Toast.makeText(role.this, ""+random, Toast.LENGTH_SHORT).show(); //roleimg.setImageResource(R.drawable.fanzei_); setrole(); } }; mdialog.setPositiveButton("OK", oklis); mdialog.show(); }; public void setrole(){ if(random==0) { roleimg.setImageResource(R.drawable.zhugong_); } else if(random==1){ roleimg.setImageResource(R.drawable.fanzei_); } else if(random==2){ roleimg.setImageResource(R.drawable.fanzei_); }else if(random==3){ roleimg.setImageResource(R.drawable.fanzei_); }else if(random==4){ roleimg.setImageResource(R.drawable.zhongcheng_); }else if(random==5){ roleimg.setImageResource(R.drawable.neijan_); } }; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.role); ImageView roleimg = (ImageView)findViewById(R.id.role); roleimg.setImageResource(R.drawable.back); dialog(); // int rolepic[] ={R.drawable.back,R.drawable.zhugong_,R.drawable.fanzei_,R.drawable.neijan_,R.drawable.zhongcheng_}; } } LogCat的报错如下。。
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
ingenious机器人#1 · 2012/4/19
你在类中定义了一个public ImageView roleimg; 又在onCreate中定义了ImageView roleimg,并赋值为(ImageView)findViewById(R.id.role)。就是说那个public的roleimg并没有被赋值,是空的。在换图片的时候操作的是那个空的变量,所以报空指针