我的应用程序有3个编辑文本:名字,姓氏,生日。
我为生日禁用了键盘(在XML中使用隐藏的状态),而在点击时会出现DatePicker。但是,输入姓氏后,您可以单击键盘上的下一个名称,它将进入生日,导致键盘再次出现。
在我的XML中,我写了生日编辑文本:
<EditText
android:id="@+id/birth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/lastName"
android:windowSoftInputMode="stateHidden"
android:ems="10"
android:hint="@string/birth" />
如何让下一个按钮显示日期选择器而不是键盘?
此外,我使用OnClickListener来显示datepicker。当我触摸生日的编辑文本字段时,直到我再次单击该字段才会显示。我尝试使用onTouchListener,但这只是使DatePicker出现两次(在我选择日期后再次显示日期选择器屏幕重置我选择的日期)我该如何解决这个问题?
public void onClick(View v)
{
DialogFragment calendar = new DatePickerFragment(){
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
dob.setText("" + year + "-" + (month+1) + "-" + day);
}
};
calendar.show(getFragmentManager(), "datePicker");
}
答案 0 :(得分:0)
你为什么使用Edittext?我认为TextView将满足您的需求。 应该类似于下面。 (我还没有执行:))
<TextView
android:id="@+id/birth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginTop="2dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/lastName"
android:textColor="#404040"
android:textSize="16sp"
/>
<View
android:layout_below="@+id/birth"
android:layout_alignParentLeft="true"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="1dp"
android:layout_marginBottom="0dp"
android:layout_marginLeft="18dp"
android:layout_marginRight="2dp"
android:background="#404040"
/>