在对话框中读取用户选择

时间:2013-12-05 16:13:20

标签: java android android-dialog

是否可以在对话框中阅读用户操作?

示例:在按钮bttn1上单击,对话框打开。如果用户在对话框中单击No,则不会发生任何事情。如果用户点击Yes,则bttn1将变为不可用,bttn2将其状态从setEnabled(false)更改为setEnabled(true)

一般性问题,但我部分考虑使用startActivityForResult()的蓝牙设置documentation

正如目前的答案所提供的,它是关于使用startActivityForResult()onActivityResult(),但我仍然不知道如何在这种情况下实现这一点。

我无法实施this来解决此类问题。

1 个答案:

答案 0 :(得分:1)

不确定这是否是您想要的,但您可以创建一个对话框并聆听正面和负面按钮点击。

new AlertDialog.Builder(this)
.setMessage("Deny or Grant?")
.setNegativeButton("Deny", new DialogInterface.OnClickListener() {    

    @Override
    public void onClick(DialogInterface arg0, int arg1) {
        // Do something on deny click.
    }
})
.setPositiveButton("Grant", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface arg0, int arg1) {
        // Do something on grant click.    
    }
})
.create().show();

编辑:

要检测用户是否已授予或拒绝蓝牙权限,您应覆盖活动中的onActivityResult并检查resultCode。来自documentation

  

将显示一个对话框,要求用户授权   设备可被发现,如图2所示。如果用户回答“是”,   然后,设备将在指定数量的情况下被发现   时间。然后,您的活动将接到电话   onActivityResult())回调,结果代码等于   设备可被发现的持续时间。如果用户回答“否”   或者如果发生错误,结果代码将为RESULT_CANCELED。