相关疑难解决方法(0)

如何从Android中的PreferenceActivity获取SharedPreferences?

我正在使用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 preferences preferenceactivity sharedpreferences

364
推荐指数
3
解决办法
31万
查看次数

Android共享偏好设置

我必须使用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)

android

30
推荐指数
1
解决办法
7万
查看次数