在我的应用程序中,当手机处于纵向模式时,可以检索文件名。
当我旋转手机时,正在使用相同的文件来获取首选项,但这个特定的首选项返回空白。
我检查了我写入此首选项的一个功能,但在手机旋转时不会调用它。
sharedpreferences
那么,旋转手机可能导致变化的原因是什么?
这是我使用的代码:
static String retrieveStoredFilename(Context context) {
SharedPreferences myPrefs = context.getSharedPreferences(PREF_NAME,
Context.MODE_PRIVATE);
String s = myPrefs.getString(FILENAME, "");
return TextUtils.isEmpty(s) ? (String) null : s;
}
如果有帮助,这里还有一些代码。这是来自实际上被旋转弄乱的片段。在 onResumefilename
旋转后设置为null,但从那时起它为null,即使我旋转回来。
@Override
public void onPause() {
super.onPause();
mIV.getBitmap().recycle();
mIV.setImageResource(R.drawable.ic_action_search);
if (myBitMap != null)
myBitMap.recycle();
}
@Override
public void onResume() {
super.onResume();
filename = ControllerFragment.retrieveStoredFilename(getActivity());
getBitmap(filename);
mIV.invalidate();
}
这两个常数是:
public static String FILENAME = "filename";
public static String PREF_NAME = "photobrowser";