我目前正在开发一款可以管理纸牌游戏的Android应用程序。我有(比方说)4名球员,每轮比赛后我点击一个按钮,打开一个对话框,输入这轮比赛中球员的得分。如何在打开的对话框中实现此目的?我尝试了几个东西,例如对话框中的ViewFlipper,到目前为止它们都没有工作。例如,ViewFlipper没有机会进入下一个视图,因为当我点击OK按钮时对话框已经再次关闭。
答案 0 :(得分:1)
您可以使用具有对话框外观的Activity,而不是对话框。为此,请将此添加到您的活动定义中:
<activity android:theme="@android:style/Theme.Dialog" />
在Android <Application>
中的Manifest.xml
标记内。
编辑要在您的活动和Dialog 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
方法来执行此操作。有关这两种方法的详细信息,请参阅here。