一、抽取 BaseFragment
**
* @类名 BaseFragment* @创建者 ppa
* @创建时间 2016-3-21
* @描述 TODO
*/
public abstract class BaseFragment extends Fragment {
public Activity mActivity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivity = getActivity(); //通过fragment的Activity实例化mActivity
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return initView(); //通过继承者重载initView实例化view
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
initData();
}
public abstract View initView();
public abstract void initData();
}
二、继承 BaseFragment类
/**
* @类名 LeftMenuFragment
* @创建者 ppa
* @创建时间 2016-3-21
* @描述 TODO
*/
public class LeftMenuFragment extends BaseFragment {
private ListView lvLeftMemu;
private NewsData mNewsData;
private ArrayList<NewsMenuData> myMenulist;
private int mCurrentPos;
private myMenuAdapter myMenuAdapter;
@Override
public View initView() {
View view=View.inflate(mActivity,R.layout.fragment_left_menu, null);
lvLeftMemu=(ListView) view.findViewById(R.id.lv_left_menu);
return view;
}
@Override
public void initData() {
}
/**
* 获取到contentFragment中展示NewsPager
* @param position
*/
protected void setMenuCurrentPager(int position) {
Main2Activity activity = (Main2Activity) mActivity; //获取Activity
ContentFragment contentFragment = activity.getContentFragment();
NewsPager newsPager = contentFragment.getNewsPager();
newsPager.setCurrentMenuDetailPager(position);
}
}