Android loginInputText.setError(“erreur”);给我一个错误
我试图在我的编辑文本下显示一个错误,如材料设计中使用的错误:Android loginInputText.setError(“erreur”);给我一个错误,android,android-textinputlayout,Android,Android Textinputlayout,我试图在我的编辑文本下显示一个错误,如材料设计中使用的错误: <android.support.design.widget.TextInputLayout android:id="@+id/login_login_input_layout" android:layout_width="match_parent" android:layout_height="wrap_content" andr
<android.support.design.widget.TextInputLayout
android:id="@+id/login_login_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:theme="@style/TextLabel">
<android.support.design.widget.TextInputEditText
android:id="@+id/login_login_input_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/login_edit_text_background"
android:drawableEnd="@drawable/icone_info"
android:drawablePadding="2dp"
android:hint="@string/login"
android:imeOptions="actionNext"
android:maxLines="1"
android:textColor="@color/colorGray"
android:textSize="12sp" />
</android.support.design.widget.TextInputLayout>
编辑:
我通过以下方式获取我的logininputlayout和logininputtext:
loginInputText = (TextInputEditText) findViewById(R.id.login_login_input_text);
EDIT2:
所有依赖项都存在:
compile 'com.android.support:appcompat-v7:27.0.0'
compile 'com.android.support:design:27.0.0'
编辑3:
添加app:errorEnabled
后,我得到以下错误:
android.view.InflateException: Binary XML file line #83: Error inflating class android.support.design.widget.TextInputLayout
编辑4:
我的应用主题已经使用了android:theme=“@style/theme.AppCompat”
,我的活动也继承了AppCompatActivity
编辑5:
如果我尝试使用普通的EditText
我会遇到以下错误:android.view.InflateException:二进制XML文件行#17:错误膨胀类TextView
编辑6:
这是我布局的主题:
<style name="TextLabel" parent="TextAppearance.AppCompat">
<item name="android:textColorHint">@color/colorLoginGray</item>
<item name="android:textSize">16sp</item>
<item name="colorAccent">@color/colorLoginBlack</item>
<item name="colorControlNormal">@color/colorTextInputGray</item>
<item name="colorControlActivated">@color/colorLoginBlack</item>
</style>
在xml中:
<android.support.design.widget.TextInputLayout
android:id="@+id/login_login_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:theme="@style/TextLabel"
app:errorTextAppearance="@style/TextLabelError"
>
试试这个
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name" />
</android.support.design.widget.TextInputLayout>
试试这个
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.design.widget.TextInputEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name" />
</android.support.design.widget.TextInputLayout>
TextInputLayout
<android.support.design.widget.TextInputLayout
android:id="@+id/userPasswordTIL"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginTop="5dp"
android:clipToPadding="false"
android:gravity="bottom"
android:paddingTop="4dp"
android:theme="@style/Theme.AppCompat"
android:textColorHint="@color/white"
>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:hint="Password"
android:inputType="textPassword"
android:maxLength="10"
android:paddingLeft="17dp"
android:paddingRight="17dp"
android:paddingTop="8dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
/>
</android.support.design.widget.TextInputLayout>
TextInputLayout
<android.support.design.widget.TextInputLayout
android:id="@+id/userPasswordTIL"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginTop="5dp"
android:clipToPadding="false"
android:gravity="bottom"
android:paddingTop="4dp"
android:theme="@style/Theme.AppCompat"
android:textColorHint="@color/white"
>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:hint="Password"
android:inputType="textPassword"
android:maxLength="10"
android:paddingLeft="17dp"
android:paddingRight="17dp"
android:paddingTop="8dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
/>
</android.support.design.widget.TextInputLayout>
您好,请参阅[类似帖子]()[或示例]()您是如何获得您的loginInputLayout的?这就是问题所在,我有所有的依赖项,并使用完全相同的说明,但它不起作用,我已阅读了所有这些内容,请参阅我的编辑,我已更新了我的帖子您好,请参阅[类似帖子]()[或示例]()你是如何得到你的loginInputLayout的?这就是问题所在,我有所有的依赖项,使用了完全相同的说明,但它不起作用,我已经阅读了它们,看到了我的编辑,我更新了我的帖子,已经在其他帖子中看到了这个答案,但它不起作用,一旦我添加了
应用程序:errorEnabled
我就得到了这个错误:android.view.InflateException:Binary XML文件行#83:错误膨胀类android.support.design.widget.TextInputLayout
+1,由于API 26,最好在自动填充框架的TextInputLayout中添加提示和输入类型,在另一种情况下,由于这个问题,您可以获得NPE@Kingofkech app:errorEnabled是可选的,如果您转到源代码,您会发现无论何时调用setError(“error”)方法,它都会将errorEnabled设置为true只需更改主题并选中android:theme=“@style/theme.AppCompat”或者试试这个,因为我已经在另一篇文章中看到了这个答案,但它不起作用,一旦我添加了应用程序:errorEnabled
我就得到了这个错误:android.view.InflateException:Binary-XML文件行#83:error-inflating类android.support.design.widget.TextInputLayout
+1,由于API 26,最好为自动填充框架的TextInputLayout添加提示和inputType,在其他情况下,您可以获得NPE,因为这个问题@Kingofkech app:errorEnabled是可选的,如果您转到源代码,您会发现无论何时调用setError(“error”)方法,它都会将errorEnabled设置为True只需更改主题并检查android:theme即可=“@style/Theme.AppCompat“或者试试这个,谢谢你的回答我试过了,但是当我使用普通的EditText时,我得到了同样的错误。普通的EditText?您刚刚在上面编写了TextInputLayout的代码。@Farhan是的,正常的
我已经试过了,看看我的TextInputLayout
的editchange主题。检查我的更新答案。@Kingofkech使用android:theme=“@style/Theme.AppCompat
在TextInputLayout
中,并尝试回答您的问题我已经尝试过了,但在使用普通EditText时遇到相同的错误。普通EditText?您刚刚在上面编写了TextInputLayout的代码。@Farhan是的,正常的
我已经试过了,看看我的TextInputLayout
的editchange主题。检查我的更新答案。@Kingofkech在TextInputLayout
中使用android:theme=“@style/theme.AppCompat
,然后重试
<android.support.design.widget.TextInputLayout
android:id="@+id/userPasswordTIL"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginTop="5dp"
android:clipToPadding="false"
android:gravity="bottom"
android:paddingTop="4dp"
android:theme="@style/Theme.AppCompat"
android:textColorHint="@color/white"
>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:hint="Password"
android:inputType="textPassword"
android:maxLength="10"
android:paddingLeft="17dp"
android:paddingRight="17dp"
android:paddingTop="8dp"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
/>
</android.support.design.widget.TextInputLayout>
userPasswordTIL = (TextInputLayout) findViewById(R.id.userPasswordTIL);
userPasswordTIL.setError("Required"); #1 pic result
OR
userPasswordTIL.getEditText().setError("Required"); #2 pic result