0

OK、質問のために新しいスレッドを作成するようにアドバイスされました。インポートされた SQLite データベースを使用しています。とにかく、正解と不正解の 2 つのテーマ ダイアログを作成し、正解または不正解がクリックされたときにそれらを表示したいと考えています。これが私のアクティビティのコードです。パーツを切り取ってください:

private class Answer {
        public Answer(String opt, boolean correct) {
            option = opt;
            isCorrect = correct;
        }

        String option;
        boolean isCorrect;
    }

    final OnClickListener clickListener = new OnClickListener() {

        public void onClick(View v) {
            Answer ans = (Answer) v.getTag();
            if (ans.isCorrect) {
                Toast toastT = Toast.makeText(Kviz.this, "Correct!", Toast.LENGTH_SHORT);
                toastT.show();
                finish();
            }else{
                Toast toastP = Toast.makeText(Kviz.this, "Wrong!", Toast.LENGTH_SHORT);
                toastP.show();
                }
                startActivity(getIntent());
            }
    };

上記のように Toast を使用すると問題なく動作しますが、このようなテーマのアクティビティを使用しようとするとうまくいきません。代わりに、次の質問に進み、携帯電話の [戻る] ボタンを押すと、そのテーマのポップアップ アクティビティが表示されます。 :

final OnClickListener clickListener = new OnClickListener() {

        public void onClick(View v) {
            Answer ans = (Answer) v.getTag();
            if (ans.isCorrect) {
                Intent t = new Intent("rs.androidaplikacijekvizopstekulture.TACANODGOVOR");
                startActivity(t);
                finish();
            }else{
                    Intent p = new Intent("rs.androidaplikacijekvizopstekulture.POGRESANODGOVOR");
                    startActivity(p);
                }
                startActivity(getIntent());
            }
    };

繰り返しますが、戻るボタンを押すと、テーマ別のアクティビティが表示されます。戻ると、間違ったアクティビティと正しいアクティビティが表示されます。トーストの場合のように、そのダイアログを表示してから次の質問をロードしたいだけです。このアクティビティの読み込みは、私の他のアクティビティでは問題なく機能しますが、ボタンをクリックするだけで、質問と回答はありません。

4

1 に答える 1

0

その理由は、 (right/wrong) のいずれかを呼び出した後、メソッドのstartActivity呼び出しに移るからstartActivity(getIntent());です。1 つの方法は、TACANODGOVOR & POGRESANODGOVOR Dialog アクティビティを、マニフェスト ファイルにこれらのアクティビティの次のタグ/値を追加して作成することですandroid:theme="@android:style/Theme.Dialog"

<activity ... android:theme="@android:style/Theme.Dialog" />

TACANODGOVOR と POGRESANODGOVOR がダイアログとして表示され、ユーザーが [戻る] ボタンを押さない限り (または終了ボタン アクティビティが押された場合)、次の行に進みません。

于 2013-02-28T18:08:38.487 に答える