Android -------- 从一个Fragment跳转到另一个Fragment
16lz
2021-01-23
一、直接getActivity,使用activity的fragmenttransation的replace方法替换
private void changeToAnotherFragment(){ //如果是用的v4的包,则用getActivity().getSuppoutFragmentManager(); FragmentManager fm = getActivity().getFragmentManager(); //注意v4包的配套使用 Fragment fragment = new 目标fragment(); fm.beginTransaction().replace(容器控件id,fragment).commit();}
二、定义回调函数(推荐)
- 实现步骤
定义回调,并利用回调结果实现功能
1、定义接口,并声明其包含的方法, 2、定义接口成员变量, 3、定义接口成员变量的get和set方法,主要是set方法,给成员变量赋值, 4、调用,判断如果成员变量不为空(null),则调用接口中的方法。
实现回调
1、实例化包含回调接口的类,即定义类对象 2、对象调用set方法,将接口回传 3、实现接口中的方法,注意:该实现只在此处起作用。
三、举例
-
定义包含有接口的类
class OneFragment extends Fragment{ private Button btn; private OnButtonClick onButtonClick;//2、定义接口成员变量 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.frag_one, null); btn = (Button)view.findViewById(R.id.button); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //4、如果接口成员变量不为空null,则调用接口变量的方法。 if(onButtonClick!=null){ onButtonClick.onClick(btn); } } }); return super.onCreateView(inflater, container, savedInstanceState); } //定义接口变量的get方法 public OnButtonClick getOnButtonClick() { return onButtonClick; } //定义接口变量的set方法 public void setOnButtonClick(OnButtonClick onButtonClick) { this.onButtonClick = onButtonClick; } //1、定义接口 public interface OnButtonClick{ public void onClick(View view); }}
-
这样只要在acitivty中设置回调即可
public class MainActivity extends Activity { //1、实例化类对象 private OneFragment oneFragment = new OneFragment(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //。。。 //。。。省略代码 //2、调用对象的set方法,回传接口对象 oneFragment.setOnButtonClick(new OnButtonClick() { //3、实现接口对象的方法, @Override public void onClick(View view) { //切换到TwoFragment fm.beginTransaction() //替换为TwoFragment .replace(R.layout.fragment_container,new TwoFragment()) .commit(); } }); }}
更多相关文章
- Android使用httpPost向服务器发送请求的方法
- 设置图片缩放方法失效 解决办法设置android:scaleType属性
- Android改变图片颜色的自定义控件(十)
- XAMARIN Android获取WIFIMAC地址的方法
- 实时获取Android 各版本电量的统一方法
- android 自定义apk名字
- 利用浏览器默认方法获取浏览器当前位置
- 【Android】实现Activity页面暂停几秒后跳转的两种方法
- android实现图片圆角化实现三种方法