【发布时间】:2020-10-14 17:13:06
【问题描述】:
我有一个 EditText,它应该打开一个 TimePicker,但它不是打开键盘,一旦我用箭头移除键盘,返回,下一次按下显示 TimePicker。
如何让 TimePicker 不使用键盘直接显示?
我把 xml 留在这里:
<com.google.android.material.textfield.TextInputLayout
style="@style/TextInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/fInicio">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/fIni"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/colorAccent" />
</com.google.android.material.textfield.TextInputLayout>
和 Java 代码:
fIni.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int anno = calendario.get(Calendar.YEAR);
int mes = calendario.get(Calendar.MONTH);
int dia = calendario.get(Calendar.DAY_OF_MONTH);
final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
calendario.set(Calendar.YEAR, year);
calendario.set(Calendar.MONTH, monthOfYear);
calendario.set(Calendar.DAY_OF_MONTH, dayOfMonth);
fechaInicio = String.format("%02d/%02d/%04d", dayOfMonth,monthOfYear,year);
fIni.setText(fechaInicio);
if (!fechaFin.equals(""))
{
if (testChar(fFin.toString()))
{
Date fI = ParseFecha(fechaInicio);
Date fF = ParseFecha(fechaFin);
d=restarFechas(fI,fF);
dias.setText(String.valueOf(d));
}
}
}
};
new DatePickerDialog(NueAvaCuando.this, date, anno,mes,dia).show();
}
});
【问题讨论】:
-
尝试将
android:focusable="false"和androidFocusableInTouchMode="false"添加到您的TextInputEditText。 -
这个问题已经问过了:stackoverflow.com/questions/39634387/…
标签: android android-edittext android-timepicker