首页 > 移动平台 > 详细

Android中继承的Dialog导致程序崩溃

时间:2014-10-08 14:09:55      阅读:278      评论:0      收藏:0      [点我收藏+]

====================问题描述====================
     在一个自己定义的View中,当点击屏幕时弹出一个对话框,结果每次程序都会被强制关闭。
View中的onTouchEvent()方法:
public boolean onTouchEvent(MotionEvent event) {
//Log.i("sudu002", "done!!!!!!!!!!!!!!!!!");
if(event.getAction() != event.ACTION_DOWN)
return super.onTouchEvent(event);

int x = (int) (event.getX()/width);
int y = (int) (event.getY()/height);

int [] used = game.getUsedTilesByCoor(x,y);


//Log.i("sudu002", "return usedData" + used.length);
for(int a:used)
Log.i("SHUDU", a+"");
dialog = new MyDialog(getContext(),used);
dialog.show();
return true;
}

自己定义的Dialog:
public class MyDialog extends Dialog{
private View keyButton[] = new View[9];
private int[] usedData = new int[9];
public MyDialog(Context context, int[] usedData) {
super(context);
this.usedData = usedData;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("123");
setContentView(R.layout.my_dialog);


}


}

====================解决方案1====================
被强制关闭的异常信息是什么呢?
====================解决方案2====================
问一下,你能确定 int [] used = game.getUsedTilesByCoor(x,y); 所获取的int数组一定是9个元素的吗?,你在Dialog中 声明了 private View keyButton[] = new View[9];
    private int[] usedData = new int[9];,是不是因为你接下来的语句中对keyButton遍历,导致两个数组没有对应上,出错了?

Android中继承的Dialog导致程序崩溃

原文:http://www.cnblogs.com/meizhenfen42/p/4011028.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!