微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EditText TimePicker显示键盘

如何解决EditText TimePicker显示键盘

我有一个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();
            }
        });

解决方法

将此添加到EditText

android:cursorVisible="false"
android:focusable="false"
android:inputType="none"

喜欢:


            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/fIni"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:cursorVisible="false"
                android:focusable="false"
                android:inputType="none"
                android:maxLines="1"
                android:textColor="@color/colorAccent" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。