Fragment拾遺

Fragment中調(diào)用activity中的方法

在Fragment中想調(diào)用activity中的方法,只需在Fragment中先創(chuàng)建一個(gè)activity的對(duì)象,然后用這個(gè)對(duì)象直接調(diào)用即可
例如要在占據(jù)全屏的fragment中添加一個(gè)按鈕,使其可以點(diǎn)擊返回到activity,
1.要先在activity中,也可以是調(diào)用此fragment的類里,將此fragment的事務(wù)添加進(jìn)返回棧中

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中創(chuàng)建activity對(duì)象并調(diào)用onBackPressed方法

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

Fragment中使用SharedPreferences在本地存儲(chǔ)數(shù)據(jù)

廢話少說(shuō),直接貼代碼

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

上述代碼要將城市名cityname儲(chǔ)存在本地中,下面是獲取方法:

SharedPreferences pref = getActivity().getSharedPreferences("data", Context.MODE_PRIVATE);
        String cityNameTemp = pref.getString("name", "");
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容