У меня есть одна проблема с 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" />
Спасибо.