Fragment拾遗

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", "");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容