1

实际上,当用户单击编辑文本时,我正在显示一个带有确定取消按钮的弹出窗口。我的问题是当用户双击编辑文本时会弹出两个弹出窗口。因此,如果用户从弹出窗口中选择了任何值,它的第二个弹出窗口仍然保留在那里。

我不知道如何处理它。

任何帮助将不胜感激。提前致谢。这是我的布局

<EditText
      android:id="@+id/date_control"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:layout_weight="1" 
      android:background="@drawable/bg_edit_text"
      android:focusableInTouchMode="false"
      android:inputType="none"
      android:editable="false"
      android:clickable="true"
      android:layout_marginRight="5dp" />

我的 java 类调用控制器

datePicker = (EditText) findView(R.id.date_control);
datePicker.setOnClickListener(myControllerClass);

它的控制器

MyDialog myDialog = new myDialog(activity, "Select Date", 
                    date, DateTimeDialog.DATE_PICKER);
myDialog.show();
4

2 回答 2

6

如果您保留对对话框的字段引用,您可以检查它是否已经显示

if(myDialog == null) {
    myDialog = new myDialog(activity, "Select Date", 
                    date, DateTimeDialog.DATE_PICKER);
}

if(!myDialog.isShowing()) {
    myDialog.show();
}
于 2012-07-05T06:29:36.163 回答
0

您只需在单击后将edittext可点击设置为false(意味着您的对话框会显示)然后在对话框关闭时您可以再次使您的edittext可点击为true。

您必须以编程方式设置此属性.. 对于 EditText 属性链接..

希望这个解释对你有用..

于 2012-07-05T06:17:11.493 回答