我想动态地将ViewPagers添加到Fragment。例如,我创建了xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvHeader"
android:textColor="@color/black"
android:textSize="18sp"
android:layout_margin="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/vpUsers"
android:layout_width="match_parent"
android:layout_height="85dp" />
</LinearLayout>
并用它来扩充视图。但ViewPagers显示不正确。看起来与ViewPagers的相同ID相关的问题。当我删除android:id="@+id/vpUsers"
时出现错误:
java.lang.IllegalStateException: ViewPager with adapter com.raybytes.SMSAddict.adapters.UserSectionAdapter$MyFragmentPagerAdapter@11a219d0 requires a view id
同样的问题,如果我以编程方式创建ViewPagers,因为ID已被重新加入,但手动设置ID是危险的。
如何使用不同的ID来膨胀或以编程方式创建少量ViewPagers? (ViewPagers的数量未知)
答案 0 :(得分:0)
这里描述的解决方案可能适用于您的情况: Put a viewpager in a popup window 基本上,您必须将此添加到您的资源:
<item name="viewpager" type="id" />
并致电
viewPager.setId(R.id.viewpager);