学习导航
第一节 fragment基础知识学习 :http://blog.youkuaiyun.com/bobo8945510/article/details/52788994
第二节 fragment的简单使用…. :http://blog.youkuaiyun.com/bobo8945510/article/details/52790296
第四节 fragment+viewpager:http://blog.youkuaiyun.com/bobo8945510/article/details/52821741
fragment的增删改
效果预览图:
上述效果为了让大家看清,所以我让添加的两个fragment重叠显示出来。那么这三个重要的方法怎么实现的呢?
1、上面两个是添加两个fragment,添加的时候用到的是add(布局id,对应的fragment,”TGA”)方法
2、删除的时候,用getFragmentManager的findFragmentByTag()方法来查找是否有对应”TGA”的fragment!
文章:http://blog.youkuaiyun.com/bobo8945510/article/details/52788994我有介绍
3、修改那就简单了,直接用repale()方法即可。
添加 add()方法
button01 = (Button)findViewById(R.id.button01);
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager FM = getFragmentManager();
FragmentTransaction MfragmentTransaction =FM.beginTransaction();
Fragment01 f1 = new Fragment01();
MfragmentTransaction.add(R.id.fragment_buju,f1,"f1");
MfragmentTransaction.commit();
}
});
button02 = (Button)findViewById(R.id.button02);
button02.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager FMs = getFragmentManager();
FragmentTransaction MfragmentTransactions = FMs.beginTransaction();
Fragment02 f2 = new Fragment02();
//用add(R.id.fragment_buju,f2,"f2")方法,添加f2对象时,给对象设置一个标签,用于删除等操作
MfragmentTransactions.add(R.id.fragment_buju,f2,"f2");
MfragmentTransactions.commit();
}
});
删除,根据“TGA”标签 remove()方法
button03= (Button)findViewById(R.id.button03);
button03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager FMs = getFragmentManager();
//下面的“f2”就是添加fragment02时,给的一个标签
Fragment fragment = FMs.findFragmentByTag("f2");
FragmentTransaction MfragmentTransactions = FMs.beginTransaction();
MfragmentTransactions.remove(fragment);
MfragmentTransactions.commit();
}
});
修改 .replace()方法
button04= (Button)findViewById(R.id.button04);
button04.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager FMs = getFragmentManager();
FragmentTransaction MfragmentTransactions = FMs.beginTransaction();
Fragment02 f2 = new Fragment02();
//replace(R.id.fragment_buju,f2),替换掉原本存在fragment
MfragmentTransactions.replace(R.id.fragment_buju,f2);
MfragmentTransactions.commit();
}
});