【发布时间】:2015-08-19 20:30:01
【问题描述】:
我有一个 PagerAdapter 问题,当我在其中加载 TextView 时,它可以完美运行,代码如下:
@Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.test, container, false);
TextView tv = (TextView) view.findViewById(R.id.tvtest);
tv.setText("" + position);
container.addView(view);
return view;
}
但是当我使用Fragment 而不是TextView 时,如下代码PagerAdapter 仅加载第一个片段。
请帮我解决这个问题。
@Override
public Object instantiateItem(ViewGroup container, int position) {
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.test, container, false);
MyFragment fragment = new MyFragment ();
FragmentTransaction transaction = mActivity.getFragmentManager().beginTransaction();
transaction.add(R.id.fragment_container, fragment).commit();
container.addView(view);
return view;
}
XML 代码:
使用 TextView 时
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tvtest"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Test"
android:textSize="30sp" />
使用片段时
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
谢谢。
【问题讨论】:
-
对不起,我在使用 PagerAdapter 的问题中没有使用 FragmentPagerAdapter
-
您可能需要在此处查看 ViewPager 教程。可能对你有帮助:stackoverflow.com/a/32072274/4843993
标签: android fragment android-pageradapter