android 抽取BaseFragment

一、抽取 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);
}

}


posted @ 2016-03-24 21:52  云中鹤5786  阅读(291)  评论(0编辑  收藏  举报