【问题标题】:How can I set a Butto.onClickListener in a Dialog?如何在对话框中设置 Button.onClickListener?
【发布时间】:2011-12-17 00:13:47
【问题描述】:

我创建了一个类 MyDialog 来扩展 Dialog。在里面,我试图为按钮设置点击监听器,但 Eclipse 给我带来了问题。这是有问题的代码:

private void setOnClickListeners() {
    myButton.setOnClickListener( new OnClickListener() {
        @Override
        public void onClick(View v) {
            //do stuff
        }
    });
}

Eclipse 将 OnClickListener 显示为 DialogInterface.OnClickListener,这似乎是问题的根源。我可以使这项工作与 Activity 中的工作相同吗?

【问题讨论】:

    标签: android button dialog listener


    【解决方案1】:

    要么导入 DialogInterface.OnClickListener,要么这样做

    myButton.setOnClickListener( new DialogInterface.OnClickListener() {
    

    您必须这样做的原因是因为有不同类型的 OnClickListeners。

    【讨论】:

    • 除此之外,我总是强调在我的代码中完全限定OnClickListener 以避免混淆。在您的情况下,Eclipse 可能会将侦听器识别为 View.OnClickListener
    • 是的,myButton.setOnClickListener 一直期待 View.OnClickListener 作为其参数。我如何让它想要一个 DialogInterface.OnClickListener?我尝试导入 DialogInterface.OnClickListener 并将我的侦听器指定为 DialogInterface.OnClickListener,但它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 2020-02-10
    相关资源
    最近更新 更多