私は現在、カード ゲームを管理できる Android アプリケーションに取り組んでいます。私には (たとえば) 4 人のプレーヤーがいて、各ラウンドの後に、このラウンド中のプレーヤーのスコアを入力するためのダイアログを開くボタンをクリックします。開いているダイアログでこれを実現するにはどうすればよいですか? ダイアログの ViewFlipper など、いくつかのことを試しましたが、これまでのところどれも機能していません。たとえば、ViewFlipper には次のビューに移動する機会がありません。これは、OK ボタンを押したときにダイアログがすでに閉じられているためです。
質問する
180 次
1 に答える
1
ダイアログの代わりに、ダイアログのルック アンド フィールを持つアクティビティを使用できます。これを達成するには、これを Activity 定義に追加します。
<activity android:theme="@android:style/Theme.Dialog" />
Androidの<Application>
タグ内Manifest.xml
。
編集アクティビティとダイアログ UI アクティビティの間でデータをやり取りするには、 を使用できますIntents
。たとえば、String
CustomActivity から 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 に答える