我正在使用PreferenceActivity为我的应用程序显示一些设置.我通过xml文件膨胀设置,以便我的onCreate(和完整的类方法)如下所示:
public class FooActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.xml.preference);
}
}
Run Code Online (Sandbox Code Playgroud)
PreferenceActivity PreferenceFragment的javadoc 说明了这一点
当用户与它们交互时,这些首选项将自动保存到SharedPreferences.要检索此活动中的首选项层次结构将使用的SharedPreferences实例,请使用与此活动相同的包中的上下文调用getDefaultSharedPreferences(android.content.Context).
但是我如何在另一个Activity中获得SharedPreference的名称?我只能打电话
getSharedPreferences(name, mode)
Run Code Online (Sandbox Code Playgroud)
在其他活动中但我需要PreferenceActivity使用的SharedPreference的名称.名称是什么或如何检索它?
我必须使用android中的sharedpreferences类来共享首选项,并且首选项必须在两个活动之间共享.如何将这些偏好从一个活动传递到另一个活动?可以使用静态变量,但它们对我不起作用.
//code for setting shared preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("login_session_key",response.getLogin_Session_Key());
editor.putString("user_name", username.getText().toString());
editor.commit();
//code for getting shared preferences
SharedPreferences settings = getSharedPreferences(SignIn.PREFS_NAME,
Activity.MODE_PRIVATE);
username = (TextView) findViewById(R.id.username);
String uname = settings.getString("user_name", null);
username.setText(uname);
Run Code Online (Sandbox Code Playgroud)