1.两个fragment,装在集合里面,适配之后得到适配器
2.viewpager,添加适配器.
主activiity.
package com.qzl.viewpagerfragmentdemo;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
/**
* 主Activity,包含两个fragment
*
* @author wwj
*
*/
public class MainActivity extends FragmentActivity {
private ViewPager vp;
private FragAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在主activity中有viewpager.
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.viewpager);
List<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(new MyFragment1());
fragments.add(new MyFragment2());
//v4下的getSupportFragmentManager
adapter = new FragAdapter(getSupportFragmentManager(), fragments);
//viewpager时两个fragment.
vp.setAdapter(adapter);
//第一个
vp.setCurrentItem(0);
}
}
fragment1
package com.qzl.viewpagerfragmentdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
/**
* 第一个Fragment
*
* @author wwj
*
*/
public class MyFragment1 extends Fragment {
private Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
// /onCreateView 中实例化
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//得到view
View view = inflater.inflate(R.layout.viewpager1, container, false);
// /得到button
btn = (Button) view.findViewById(R.id.btn);
//监听事件
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "这个Fragment1,", Toast.LENGTH_LONG).show();
}
});
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onPause() {
super.onPause();
}
}
fragment2package com.qzl.viewpagerfragmentdemo;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
/**
* 第2个Fragment
*
* @author wwj
*
*/
public class MyFragment2 extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.viewpager2, container, false);
view.findViewById(R.id.btn).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "这个是Fragment2,我们都被装在viewpager里面", Toast.LENGTH_SHORT).show();
}
});
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onPause() {
super.onPause();
}
}
适配器
package com.qzl.viewpagerfragmentdemo;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
//继承系统的适配器 fragmentpageradapter
public class FragAdapter extends FragmentPagerAdapter{
private List<Fragment> fragments;
public FragAdapter(FragmentManager fm) {
super(fm);
}
//参数仪 fm, 参数二list集合.
public FragAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
//父类的方法
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
//父类的方法
@Override
public int getCount() {
return fragments.size();
}
}
关于布局.
/ViewPagerFragmentDemo/res/layout/activity_main.xml
<?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.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:flipInterval="30"
android:persistentDrawingCache="animation" />
</RelativeLayout>
fragment1
/ViewPagerFragmentDemo/res/layout/viewpager1.xml
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:drawable/alert_dark_frame" >
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="54dp"
android:background="@android:drawable/alert_light_frame"
/>
</RelativeLayout>
fragment2
/ViewPagerFragmentDemo/res/layout/viewpager2.xml
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:drawable/alert_light_frame" >
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="54dp"
android:background="@android:drawable/arrow_down_float"
/>
</RelativeLayout>