0

私のアプリはバージョン 2.2 を対象としており、テストした 3 つのデバイス (バージョン 2.2 および 2.3) で問題なく動作するようです。

ただし、Google Nexus 10 タブレットで実行したところ、スプラッシュ スクリーンは正常に動作し、次のアクティビティ (複数のスレッドを使用する SurfaceView に基づくメニュー システム) を開始するためにタッチ入力が必要です。ボタンは機能しています。どこから始めればよいかわかりません。古い Android API 用に作成されたアプリが、OS の新しいリリースと互換性がないと仮定するのは間違っていますか? 確かに新しいバージョンは下位互換性がありますか?

皆さんありがとう!!

編集:スタートボタンを繰り返し押すと、Logcat に次のように表示されます。

ここに画像の説明を入力

なぜこれがJBでこれを行っているのかわかりませんが、古いOSを実行しているデバイスでは問題ありません-ありがとうございます。

編集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;}

    }
4

1 に答える 1

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を渡す方法があるように見えますが、コードでこれが発生する可能性はありますか?

于 2013-01-26T04:16:44.490 に答える