我的应用程序针对2.2版,似乎在我测试过的3台设备上运行良好(版本2.2和2.3)
然而,我只是在谷歌Nexus 10平板电脑上运行它,启动画面工作正常,并采取触摸输入启动下一个活动(基于SurfaceView使用多个线程的菜单系统),虽然它显示/动画确定,没有按钮工作 - 我不确定从哪里开始,我错误地认为为较旧的Android API编写的应用程序与较新版本的操作系统不兼容?当然新版本可以向后兼容吗?
谢谢大家!!
编辑:如果我反复点击开始按钮,Logcat会显示:
所以不确定为什么这样做会在JB上运行,但在运行旧操作系统的设备上没问题 - 谢谢大家。
编辑2:
“按钮”释放代码(按下“按钮”后):
if (event.getAction()==MotionEvent.ACTION_UP){
Intent StartNewGame = new Intent((Activity) getContext(), StartGame.class);
getContext().startActivity(StartGame);
// Oddly, if I put a System.exit(0); here, game activity starts and everything is fine - obviously this is only for testing and needs to be removed.
return true;}
}
答案 0 :(得分:0)
public int nextInt(int n) {
if (n > 0) {
if ((n & -n) == n) {
return (int) ((n * (long) next(31)) >> 31);
}
int bits, val;
do {
bits = next(31);
val = bits % n;
} while (bits - val + (n - 1) < 0);
return val;
}
throw new IllegalArgumentException();
}
这是来自4.1的源代码,所以看起来你是如何将0传递给函数的,你的代码中是否会出现这种情况?