1

私は現在、カード ゲームを管理できる Android アプリケーションに取り組んでいます。私には (たとえば) 4 人のプレーヤーがいて、各ラウンドの後に、このラウンド中のプレーヤーのスコアを入力するためのダイアログを開くボタンをクリックします。開いているダイアログでこれを実現するにはどうすればよいですか? ダイアログの ViewFlipper など、いくつかのことを試しましたが、これまでのところどれも機能していません。たとえば、ViewFlipper には次のビューに移動する機会がありません。これは、OK ボタンを押したときにダイアログがすでに閉じられているためです。

4

1 に答える 1

1

ダイアログの代わりに、ダイアログのルック アンド フィールを持つアクティビティを使用できます。これを達成するには、これを Activity 定義に追加します。

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

Androidの<Application>タグ内Manifest.xml

編集アクティビティとダイアログ UI アクティビティの間でデータをやり取りするには、 を使用できますIntents。たとえば、StringCustomActivity から DialogActivity に を渡したいとします。CustomActivity のコードは次のようになります。

Intent i = new Intent(getApplicationContext(), DialogActivity.class);
i.putExtra("your_variable_name","value");
startActivity(i);

次に、DialogActivity で、使用するデータにアクセスします。

Bundle extras = getIntent().getExtras();
if (extras != null) {
    String variable_value = extras.getString("your_variable_name");
}

DialogActivity から CustomActivity にデータを送信する場合も、同じロジックが適用されます。

startActivityForResultおよびonActivityResultメソッドを使用してそれを行うこともできます。これら 2 つの方法の詳細については、こちらを参照してください。

于 2012-07-08T10:13:26.593 に答える