第一次点击时没有显示Datepicker

时间:2015-05-12 02:28:12

标签: android datepickerdialog

我有一个编辑区,当我点击它时,会打开一个datepicker,但是我无法在第一次点击时弹出datepicker。如果我第一次单击编辑字段,则不会显示日期选择器。当我点击第二次或第三次时,它正在显示。这是我的代码:

Overlapping instances for Vectorlike (Vect Double)
||   print $ norm (Vect 3.0 4.0 :: Vect Double)
foo.hs|40 col 13 error| Overlapping instances for Vectorlike (Vect Double)
||   arising from a use of `norm'
|| Matching instances:
||   instance Integral a => Vectorlike (Vect a)
||     -- Defined at /home/yosh/foo.hs:26:10
||   instance Vectorlike (Vect Double)
||     -- Defined at /home/yosh/foo.hs:32:10

3 个答案:

答案 0 :(得分:4)

在你的布局xml中,在你的edittext中执行此操作 -

android:focusableInTouchMode="false"

这将起作用

答案 1 :(得分:0)

您真的不需要Activity来创建对话框。只需创建一个XML 并使用AlertDialog。

final View dialogView = View.inflate(this, R.layout.dialog_date_picker, null);
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();

DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.date_picker);
      datePicker.init(mCalendar.get(Calendar.YEAR),mCalendar.get(Calendar.MONTH),mCalendar.get(Calendar.DAY_OF_MONTH),null);

dialogView.findViewById(R.id.date_time_set).setOnClickListener(new View.OnClickListener()
{
  @Override
  public void onClick(View view)
  {
    alertDialog.dismiss();
  }
});

alertDialog.setView(dialogView);
alertDialog.show();

这是XML(dialog_date_picker.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:padding="8dp"
    android:layout_height="match_parent">

    <DatePicker
        android:id="@+id/date_picker"
        android:layout_width="match_parent"
        android:calendarViewShown="true"
        android:spinnersShown="false"
        android:layout_weight="4"
        android:layout_height="0dp" />

    <Button
        android:id="@+id/date_time_set"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:text="Set"
        android:layout_height="0dp" />

</LinearLayout>

答案 2 :(得分:0)

如果以编程方式创建编辑文本,可以使用。

动态设置
...
EditText editText = new EditText();
editText.setFocusableInTouchMode(false);
...