一、直接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、定义接口成员变量的getset方法,主要是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();            }        });    }}
绳锯木断,水滴石穿。海纳百川,积少成多。一分耕耘,一份收获。

更多相关文章

  1. Android使用httpPost向服务器发送请求的方法
  2. 设置图片缩放方法失效 解决办法设置android:scaleType属性
  3. Android改变图片颜色的自定义控件(十)
  4. XAMARIN Android获取WIFIMAC地址的方法
  5. 实时获取Android 各版本电量的统一方法
  6. android 自定义apk名字
  7. 利用浏览器默认方法获取浏览器当前位置
  8. 【Android】实现Activity页面暂停几秒后跳转的两种方法
  9. android实现图片圆角化实现三种方法

随机推荐

  1. Android移植的Box2D
  2. android使用mysql的方法总结
  3. iOS程序员必须知道的Android要点
  4. Android(安卓)怎么样使用shape
  5. 简单解释Android中的任务、进程和线程
  6. Android图
  7. 深入浅出 - Android系统移植与平台开发(十
  8. @+id/android:list"和"@android:id/list"
  9. Android读取assets目录下文件数据内容
  10. Android(安卓)视频播放器 faplayer 编译