我有一个编辑区,当我点击它时,会打开一个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
答案 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);
...