EditText added is not a TextInputEditText. Please switch to using that class instead(添加的 EditText 不是 TextInputEditText.请改用该课程)
问题描述
我在 TextInputLayout
中使用 EditText
,但是在将支持库升级到 23.2.0 后,我在 logcat 中收到此警告,这两者有什么区别一个常规的 EditText
和一个 TextInputEditText
?我似乎找不到任何文档.
我也在想这个,
横向 UI 编辑空名称字段
编辑名称,您可以看到 IME 不会提示您正在编辑的内容.
横向 UI 编辑空的描述字段
编辑描述您可以看到 IME 提示您正在编辑的内容.
布局 XML
这两个字段的区别在于它们的类型EditText
VS TextInputEditText
.这里重要的是 TextInputLayout
有 android:hint
而不是包装的 EditText,当 TextInputEditText
的几行Java 代码有很大的不同.
名称字段
描述字段
I'm using an EditText
inside a TextInputLayout
, but after upgrading the support library to 23.2.0, I get this warning in the logcat, What's the difference between a regular EditText
and a TextInputEditText
? I can't seem to find any documentation for it.
I was wondering this too, Daniel Wilson gathered the documentation, but to the untrained eye it doesn't mean much. Here's what it's all about: "extract mode" is referring to the type of view that's shown when the space is too small, for example landscape on a phone. I'm using Galaxy S4 with Google Keyboard as input method editor (IME).
Landscape UI without visible IME
Based on the focus (on Description) you can see TextInputLayout
in action pushing the hint outside the editor. Nothing special here, this is what TextInputLayout
is supposed to do.
Landscape UI editing empty Name field
Editing the Name you can see that the IME doesn't give you a hint of what you're editing.
Landscape UI editing empty Description field
Editing the Description you can see that the IME gives you a hint of what you're editing.
Layout XMLs
The difference between the two fields is their type EditText
VS TextInputEditText
. The important thing here is that TextInputLayout
has the android:hint
and not the wrapped EditText, this is the case when TextInputEditText
's few lines of Java code makes a big difference.
Name field
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Item Name"
>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
Description field
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Item Description"
>
<android.support.design.widget.TextInputEditText
android:id="@+id/description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:minLines="4"
android:scrollbars="vertical"
/>
</android.support.design.widget.TextInputLayout>
这篇关于添加的 EditText 不是 TextInputEditText.请改用该课程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:添加的 EditText 不是 TextInputEditText.请改用该课程


- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01