看起来TextInputLayout
在ViewPager
内部无效。
错误是:
错误类android.support.design.widget.TextInputLayout
Appcompat
和Design library
已添加。 Theme
是正确的。
我使用PageAdapter
来充气并填充ViewPager
。
TextInputLayout
视图在应用程序的所有其他部分中充实。
layout
我为ViewPager
充气。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="My Edit Text" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
答案 0 :(得分:0)
我试过,我可以正常运行(也不例外) 我使用了viewpager和自定义适配器。这是我的
<强> activity_main.xml中强>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
和我的片段布局(我使用RelativeLayout因为我会使用片段)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="My Edit Text" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
</RelativeLayout>
您也知道如何使用viewpager适配器。如果你不知道,你可以在这里提出要求。
答案 1 :(得分:0)
使用此
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat">
您还必须使用AppCompatActivity而不是Activity
来扩展您的类答案 2 :(得分:0)
您应该尝试一些方法来解决问题。
使用android.support.v7.widget.AppCompatEditText而不是使用EditText。例如:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true">
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="First Name"
android:inputType="textPersonName"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
答案 3 :(得分:0)
我遇到了同样的问题,上述解决方案都没有对我有用。最后,我将 PagerAdapter 切换为 FragmentStatePagerAdapter ,并使用 Fragment 实现了整个事情。
您可以参考this link作为参考。
在我的实验中,我调整了演示并在 ViewPager 中插入了 TextInputLayout ,一切都运行良好。