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; } @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遍历,导致两个数组没有对应上,出错了?
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。