码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-10-22 00:37:55      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:android   io   java   for   sp   on   问题   cti   log   

============问题描述============


     在一个自己定义的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导致程序崩溃

标签:android   io   java   for   sp   on   问题   cti   log   

原文地址:http://www.cnblogs.com/liangxieliang56/p/4041964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!