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", "");