发送共享偏好的数据 这是沟通的接口
@Override
public void saveBMI(String d, String r, String f_r) {
sharedPreferences=getSharedPreferences("userBMI",Context.MODE_PRIVATE);
editor=sharedPreferences.edit();
editor.putString("CheckDate",d);
editor.putString("BmiResult",r);
editor.putString("BmiWeight",f_r);
editor.commit();
}
此方法用于将数据从共享首选项发送到另一个片段
@Override
public void showBMI() {
if(sharedPreferences.contains("CheckDate"))
{
c_d=sharedPreferences.getString("CheckDate","");
}
if(sharedPreferences.contains("BmiResult"))
{
bmi_res=sharedPreferences.getString("BmiResult","");
}
if(sharedPreferences.contains("BmiWeight"))
{
bmi_w=sharedPreferences.getString("BmiWeight","");
}
//here i want to send the data to another fragment ...???
}
答案 0 :(得分:0)
共享首选项的意思是你可以从任何地方访问它,所以在另一个片段中只需获取你想要的数据。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.getString("CheckDate","");
如果您的问题是关于如何将数据从片段发送到另一个片段,我建议在创建片段并在其中传递参数时使用newInstance方法。
public static GenericAreaFragment newInstance(String color, String title, String areaId, boolean isArea) {
GenericAreaFragment frag = new GenericAreaFragment();
Bundle args = new Bundle();
args.putString(COLOR, color);
args.putString(TITLE, title);
args.putString(AREA_ID, areaId);
args.putBoolean(ISAREA, isArea);
frag.setArguments(args);
return frag;
}
然后你可以用:
获得参数getArguments().getBoolean(ISAREA); // or getString, etc
许多解释都在android文档中,以及如何通过活动和片段进行通信。
http://developer.android.com/intl/es/reference/android/app/Fragment.html