我是android开发的新手。在我的第一个应用程序中,我使用SharedPreferences在整个应用程序中共享一些字符串。现在我正在使用标签制作和应用程序。我的第一个Activity是LoginActivity,我在其中设置SharedPreferences:
myPrefs = getSharedPreferences("myPrefs", MODE_PRIVATE);
SharedPreferences.Editor e = myPrefs.edit();
e.putString("name", "Piscean");
e.commit();
Intent mainIntent = new Intent(LoginActivity.this, TabActivity.class);
startActivity(mainIntent);
TabActivity从FragmentActivity扩展而来,它有四个Framents。现在我想访问TabActivity片段之一的SharedPreferences。 我试着用
SharedPreferences myPrefs = getActivity().getSharedPreferences("myPrefs", 0);
System.out.println("Name: "+myPrefs.getString("name", "empty"));
并将其打印出来。知道我该怎么办?提前谢谢。
答案 0 :(得分:2)
你必须使用getActivity().getSharedPreferences(...)
答案 1 :(得分:1)
请注意,您的上下文已从“活动”更改为“片段”。我假设您正在使用的活动:
this.getSharedPreferences(..)
在您的片段中,您需要容器活动的上下文:
getActivity().getSharedPreferences(...)