2

非常に奇妙な問題があり、elcipse juno が壊れていると思います。このEclipseにはAndroid ADTプラグインがあります。

次のスクリーンショットは、私の信念を証明します。

ここに画像の説明を入力

そして、まだ完成していません。上のスクリーンショットの後、もう一度 F6 を押すと、次のようになりました。

ここに画像の説明を入力

明確な質問をするために、このケースをもう一度説明します。アプリケーションをデバッグすると、arg2値が 1 であることがわかりました。その後、f6 を押すと、コードはケース 0 (ケース 1 ではなく) になり、もう一度 f6 を押すと、コードはケース 6 になります (WTF?? ??? 私は を持っていますが、breakなぜケース 0 とケース 6 になるのでしょうか?)

必要に応じて、これは上記のスクリーンショットのコードです。

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
        Intent i = new Intent(this, Chapter.class);

        switch(arg2)
        {
        case 0:
            Toast.makeText(this, "a", Toast.LENGTH_SHORT).show();
            break;
        case 1:
            i.putExtra("key", 1);
            Toast.makeText(this, arg2 , Toast.LENGTH_SHORT).show();
            startActivity(i);
            break;
        case 2:
            i.putExtra("key", 2);
            startActivity(i);
            break;
        case 3:
            i.putExtra("key", 3);
            startActivity(i);
            break;
        case 4:
            i.putExtra("key", 4);
            startActivity(i);
            break;
        case 5:
            i.putExtra("key", 5);
            startActivity(i);
            break;
        case 6:
            i.putExtra("key", 6);
            startActivity(i);
            break;
        case 7:
            i.putExtra("key", 7);
            startActivity(i);
            break;
        case 8:
            i.putExtra("key", 8);
            startActivity(i);
            break;
        }
    }

どうもありがとうございました。

4

2 に答える 2

1

私は完全に間違っている可能性がありますが、これは私には正常に思えます。ケースは配列のように機能し、最初のインスタンスは 0 であり、yourarg2は int であるため、最初のインスタンスは 1 です。

于 2013-06-02T14:32:24.617 に答える
1

はいADT 22のバグが原因で壊れています。ADT を最新バージョンにアップグレードし、Android Build Toolsをインストールする必要があります。その後、プログラムとデバッグは正常に実行されます。

これらは、私と同じ問題に遭遇した場合に役立つリンクです。

https://groups.google.com/forum/?fromgroups#!topic/android-developers/rCaeT3qckoE https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/epOfZbKPFdk

于 2013-06-03T15:20:09.457 に答える