首页 > 代码库 > Android中继承的Dialog导致程序崩溃
Android中继承的Dialog导致程序崩溃
====================问题描述====================
在一个自己定义的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;}@Overrideprotected 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导致程序崩溃
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。