【问题标题】:Android dialogs: Should I use a DialogFragment or a separate activity to handle a simple input boxAndroid 对话框:我应该使用 DialogFragment 还是单独的 Activity 来处理简单的输入框
【发布时间】:2016-07-30 12:31:46
【问题描述】:

我正在开发一个简单的 Android 益智游戏。开始时,通过使用 PRNG 生成随机初始游戏状态来确定游戏状态。但是,我想实现一个种子系统,用户可以在其中输入一个字母数字字符串,然后它将充当生成游戏初始状态的 PNRG 的种子。然后,用户可以与他们的朋友分享种子,在他们之间玩同一个棋盘。

为了做到这一点,我需要显示游戏的 Activity 显示一个包含 EditText 和 OK 按钮的对话框,以便用户可以输入种子。然后对话框应将输入的字符串发送到游戏活动,以便它可以使用它来生成棋盘。根据我的阅读,我似乎可以使用带有对话框主题的 Activity 或 DialogFragment。

虽然我可以创建一个以对话框为主题的活动,但为了这个简单的目的而单独创建一个活动似乎有点过头了,而且我找不到从 DialogFragment 向游戏活动返回字符串的方法。

哪种方式效果更好,单独的活动或 DialogFragment。如果是 DialogFragment,将 String 返回到游戏 Activity 的最佳方式是什么?

提前感谢您的帮助。

【问题讨论】:

  • 在对话框中,您可以在变量的编辑文本中输入字符串并将该变量设为公共静态,以便轻松访问

标签: java android android-fragments android-activity dialog


【解决方案1】:

你可以试试这个简单的安卓对话框popup library。在您的活动中使用它非常简单。

Pop.on(this)
                .with()
                .title(R.string.title)// you can skip if not needed
                .layout(R.layout.custom_pop)// your custom layout 
                .when(new Pop.Yah() { // positive button
                    @Override
                    public void clicked(DialogInterface dialog, View view) {
                        Toast.makeText(getBaseContext(), "Yah button clicked", Toast.LENGTH_LONG).show();
                    }
                })
                .when(new Pop.Nah() { // negative button, you can skip if not neeed
                    @Override
                    public void clicked(DialogInterface dialog, View view) {
                        Toast.makeText(getBaseContext(), "Nah button clicked", Toast.LENGTH_LONG).show();
                    }
                }).show();

【讨论】:

    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多