android 静态fragment动态fragment和焦点

来源:互联网 发布:流程的优化分类 编辑:程序博客网 时间:2024/06/02 02:10

两种Fragment继承Support.V4 jar包的FragmentActivity   来源:http://blog.csdn.net/a704755096/article/details/45969873

1.静态Fragment

 FragmentManager fm = getSupportFragmentManager();  //fragment嵌套fragment用getChildFragmentManager();

private void intiTab(int index) {//初始化fragment仿TabHostFragmentTransaction ft1 = fm.beginTransaction();if(!fragment[index].isAdded()){ft1.add(R.id.容器id, fragment[index]);//在指定容器布局显示多个fragment}for(int i=0;i<fragment.length;i++){if(i!=index){ft1.hide(fragment[i]);}}ft1.show(fragment[index]);ft1.commitAllowingStateLoss();//commit()}

2.动态Fragment

ViewPager vp = (ViewPager) findViewById(R.id.viewpager1);
vp.setAdapter(new Vadapter(getSupportFragmentManager()));
//vp.setOnPageChangeListener();

class Vadapter extends FragmentPagerAdapter{
public Vadapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
Fragment fragment=null;
//Bundle args=new Bundle();
if(arg0==0){

fragment = new FirstFragment();
}else{
fragment = new SecondFragment();
}
return fragment;
}
@Override
public int getCount() {
return 2;
}

}

注:fragment重叠问题:http://blog.csdn.net/a704755096/article/details/48031913

焦点问题:setFocusable(true);setFocusableInTouchMode(true);requestFocus();requestFocusFromTouch();

或者将notifyDataSetChanged()等方法放在主线程执行就可以了。listview优化 http://blog.csdn.net/jacman/article/details/7087995

1 0
原创粉丝点击