【发布时间】:2017-03-14 08:29:38
【问题描述】:
SharedPreferences 有点问题。
我正在使用一个选项卡式活动,里面有一些片段。我里面有一个ListView,我想得到selectedItem的ID。
我遇到了一个错误,不知道它是什么。
我在 Fragment 上的 SharedPreferences 中写道:
listViewCours.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
long itemid= listViewCours.getItemIdAtPosition(i);
String a = String.valueOf(itemid);
editor.putString("ItemId",a);
editor.commit();
}
});
然后我尝试从Activity 读取它:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String cours = prefs.getString("ItemId","");
int cours_id = Integer.parseInt(cours);
我不知道该怎么做,但目前我无法在其他活动中获得该 ID...
【问题讨论】:
-
让它统一,如果你使用
PreferenceManager.getDefaultSharedPreferences(this),然后使用它。 -
这个
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);和SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);必须相同。
标签: android listview android-fragments sharedpreferences