一、FragmentActivity类
public class DemoFragmentActivity_2 extends FragmentActivity{
private ViewPager pager;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.demo_activity_fragment_2);
pager = (ViewPager) findViewById(R.id.pager_fragment);
pager.setAdapter(new FragmentActivityAdatper(getSupportFragmentManager()));
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/tv_postion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tv_postion"/>
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"></ListView>
</LinearLayout>
二、FragmentPaperAdapter类
public class FragmentActivityAdatper extends FragmentPagerAdapter{
public FragmentActivityAdatper(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return MyListFragment.newInstance(position);
}
@Override
public int getCount() {
return 4;
}
}
三、ListFragment类
public class MyListFragment extends ListFragment{
private int positon;
public static Fragment newInstance(int pos){
Fragment instance = new MyListFragment();
Bundle args = new Bundle();
args.putInt("postion", pos);
instance.setArguments(args);
return instance;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
positon = getArguments()==null?0:getArguments().getInt("postion", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
LayoutInflater li = LayoutInflater.from(getActivity());
View v = li.inflate(R.layout.demo_activity_listfragment, null);
TextView tv = (TextView) v.findViewById(R.id.tv_postion);
tv.setText(""+positon);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,new String[]{"a","b","c"} ));
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/tv_postion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tv_postion"/>
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"></ListView>
</LinearLayout>