2013-02-18 32 views
1
sbpOfScreen.getDialog().setOnDismissListener(new OnDismissListener() { 

        @Override 
        public void onDismiss(DialogInterface dialog) { 
         // How to know what button I click? 
        } 
       }); 

哪个按钮我有DialogPreferencesbpOfScreen实例。我想知道我点击了什么。我正在使用setOnDismissListener。如何知道我是否点击"Ok""Cancel"setOnDismissListener可我知道我点击的Android

+0

你为什么不只是设置你对各个按钮DialogInterface.OnClickListener() - 位置和消极的? – serenskye 2013-02-18 13:20:09

回答

0

不,您应该使用DialogInterface中提供的其他接口之一。例如,如果您使用DialogInterface.OnClickListener,则会在回调中收到一个参数,告诉您哪个按钮被点击。

+0

我已经尝试与getDialog()。setonClickListener()但永远不会被解雇。 – mbrc 2013-02-18 13:25:39

1

而且我的评论 -

dialogBuilder.setPositiveButton(activity.getString(R.string.ok),new DialogInterface.OnClickListener() { 

          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           //do okay button stuff 
          } 

         }); 

    dialogBuilder.setNegativeButton(activity.getString(R.string.cancel),new DialogInterface.OnClickListener() { 

          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           //do cancel button stuff 
          } 

         }); 
+0

我只有setPositiveButtonText的可能性。而不是setPositiveButton – mbrc 2013-02-18 13:27:48

+0

啊,这是在创建对话框时在构建器AlertDialog.Builder中。查看关于将这些事件传递回活动的android文档,以处理http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents – serenskye 2013-02-18 13:35:59

相关问题