<pre name="code" class="java">这个类用来抽象出activity公共的方法。
/**
*BaseActivity.java [V 1.0.0]
*classes : com.example.viewpagerfragment.BaseActivity
*肖峰 Create at 2015-3-27 上午10:54:54
*/
package com.example.viewpagerfragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
/**
* com.example.viewpagerfragment.BaseActivity
*
* @author 肖峰 <br/>
* create at 2015-3-27 上午10:54:54
*/
public abstract class BaseActivity extends FragmentActivity {
public static final String TAG = "BaseActivity";
public Context context;
/* (non-Javadoc)
* @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
}
public void init()
{
findViewById();
setOnlistener();
initData();
}
protected abstract void findViewById();
protected abstract void setOnlistener();
protected abstract void initData();
}
这个类是显示ViewPager
<pre name="code" class="java">package com.example.viewpagerfragment;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends BaseActivity {
private ViewPager viewPager;
private fragment1 fragment1;
private fragment2 fragment2;
private List<Fragment> fragmentList;
private Button bt1;
private Button bt2;
private Button bt3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void findViewById() {
viewPager = (ViewPager) this.findViewById(R.id.viewPager);
fragmentList = new ArrayList<Fragment>();
fragment1 = new fragment1();
fragment2 = new fragment2();
fragmentList.add(fragment1);
fragmentList.add(fragment2);
bt1 = (Button) findViewById(R.id.button1);
bt2 = (Button) findViewById(R.id.button2);
bt3 = (Button) findViewById(R.id.button3);
viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(),
fragmentList));
}
@Override
protected void setOnlistener() {
// TODO Auto-generated method stub
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(0);
}
});
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(1);
}
});
bt3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(2);
}
});
}
/*
* (non-Javadoc)
*
* @see com.example.viewpagerfragment.BaseActivity#initData()
*/
@Override
protected void initData() {
// TODO Auto-generated method stub
}
}
ViewPager的适配器
/**
*ViewPagerAdapter.java [V 1.0.0]
*classes : com.example.viewpagerfragment.ViewPagerAdapter
*肖峰 Create at 2015-3-27 下午1:02:54
*/
package com.example.viewpagerfragment;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* com.example.viewpagerfragment.ViewPagerAdapter
*
* @author 肖峰 <br/>
* create at 2015-3-27 下午1:02:54
*/
public class ViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> lists;
/**
* @param fm
*/
public ViewPagerAdapter(FragmentManager fm,List<Fragment> lists) {
super(fm);
this.lists=lists;
// TODO Auto-generated constructor stub
}
/*
* (non-Javadoc)
*
* @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
*/
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return lists.get(arg0);
}
/*
* (non-Javadoc)
*
* @see android.support.v4.view.PagerAdapter#getCount()
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return lists.size();
}
}
ViewPager里的一个页面
/**
*fragment1.java [V 1.0.0]
*classes : com.example.viewpagerfragment.fragment1
*肖峰 Create at 2015-3-27 下午12:09:49
*/
package com.example.viewpagerfragment;
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;
/**
* com.example.viewpagerfragment.fragment1
*@author 肖峰 <br/>
* create at 2015-3-27 下午12:09:49
*/
public class fragment1 extends Fragment {
private View viewPager;
private Button bt1;
/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreate(android.os.Bundle)
*/
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
LayoutInflater inflater=getActivity().getLayoutInflater();
viewPager=inflater.inflate(R.layout.fragment1, (ViewGroup)getActivity().findViewById(R.id.viewPager), false);
bt1=(Button)viewPager.findViewById(R.id.button1);
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "和娃能",Toast.LENGTH_LONG).show();
}
});
}
/* (non-Javadoc)
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
ViewGroup p=(ViewGroup)viewPager.getParent();
if(p!=null)
{
p.removeAllViewsInLayout();
}
return viewPager;
//return super.onCreateView(inflater, container, savedInstanceState);
}
}