美文网首页
Fragment拾遗

Fragment拾遗

作者: 向着远方奔跑 | 来源:发表于2016-12-13 09:51 被阅读0次

Fragment中调用activity中的方法

在Fragment中想调用activity中的方法,只需在Fragment中先创建一个activity的对象,然后用这个对象直接调用即可
例如要在占据全屏的fragment中添加一个按钮,使其可以点击返回到activity,
1.要先在activity中,也可以是调用此fragment的类里,将此fragment的事务添加进返回栈中

FragmentManager fm = getSupportFragmentManager();
                FragmentTransaction transaction = fm.beginTransaction();
                transaction.replace(R.id.weather_layout, fragment);
                transaction.addToBackStack(null); // 添加返回栈中
                transaction.commit();

2.在activity中重写onBackPressed方法

public void onBackPressed() {
      super.onBackPressed();
    }

3.在fragment中创建activity对象并调用onBackPressed方法

imgBtn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {               
                WeatherActivity wa=(WeatherActivity) getActivity();
                wa.onBackPressed();
            }
        });

Fragment中使用SharedPreferences在本地存储数据

废话少说,直接贴代码

SharedPreferences.Editor editor = getActivity().getSharedPreferences("data", Context.MODE_PRIVATE).edit();
                        editor.putString("name", cityname);
                        editor.commit();

上述代码要将城市名cityname储存在本地中,下面是获取方法:

SharedPreferences pref = getActivity().getSharedPreferences("data", Context.MODE_PRIVATE);
        String cityNameTemp = pref.getString("name", "");

相关文章

网友评论

      本文标题:Fragment拾遗

      本文链接:https://www.haomeiwen.com/subject/bwvvmttx.html