这篇文章主要讲解了“fragment的基本用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“fragment的基本用法”吧!
fragment 基本使用方法
1、继承Fragment类或者子类并重写
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
方法。把xml文件包裹成View对象,并对vie进行操作,与activity操作View相同。
2、把fragment添加到activity中:
1)、在xml中添加,也即静态添加:
<fragment
android:layout_below="@id/tv"
android:id="@+id/left_fragment"
android:name="com.example.test.LeftFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
2)、在代码中添加,也即动态添加:
FragmentManager LeftFragment fragment=new LeftFragment();
fragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.ll, fragment);
fragmentTransaction.commit();
注:需要commit().
3、基本操作,增、删、改、查。
重要类:
FragmentManager: Fragment管理
FragmentTransaction:Fragment事务
Fragment:具体Fragment
增:add方法
删:remove方法
改:replace方法
查:findFragmentByTag 或者 findFragmentById
4、回退栈
使用FragmentTransaction中的addToBackStack方法
5、与activity的通讯
在Fragment内定义一个接口,其作用是让activity使用。
1)、
public class FragmentB_1 extends Fragment implements OnClickListener {
private FragmentBIF fragmentBIF;
public interface FragmentBIF{
public void setB();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.b, null);
Button button=(Button) view.findViewById(R.id.but_b);
button.setOnClickListener(this);
return view;
}
public void setFragmentBIF(FragmentBIF fragmentBIF) {
this.fragmentBIF = fragmentBIF;
}
//button的点击事件作用到接口的setB方法
@Override
public void onClick(View v) {
if(fragmentBIF!=null){
fragmentBIF.setB();
}
}
}
2)、
public class FragmentA_1 extends Fragment implements OnClickListener {
private FragmentIF fragmentIF;
public interface FragmentIF{
public void setA();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.a, null);
Button button = (Button) view.findViewById(R.id.but_a);
button.setOnClickListener(this);
return view;
}
//button的点击事件作用到接口的setA方法上
@Override
public void onClick(View v) {
if(getActivity() instanceof FragmentIF){
((FragmentIF)getActivity()).setA();
}
}
}
感谢各位的阅读,以上就是“fragment的基本用法”的内容了,经过本文的学习后,相信大家对fragment的基本用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。