共享首选项用户名

Shared preferences user name

我有一个应用程序,我希望它能够让用户自定义,从首选项菜单中将他们的用户名、电子邮件地址和图片设置到 navDrawer。不过,我不是 100% 确定如何执行此操作。我不确定如何设置侦听器以从首选项屏幕获取密钥。此外,由于这些值具有 id,用户可以根据他们输入的首选项替换它们吗?

任何帮助都会很棒。

由于您希望这些值在每次使用应用程序时都保持不变,因此请使用 SharedPreferences 来保存这些值。然后在您的 navDrawer 适配器中检索并设置它们

 SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(YourActivity.this);
    pref.edit().putString("name", nameEditText.getText().toString()).commit(); 

要检索...

pref.getString("name", defaultValue);

使用相同密钥的任何其他 "putString" 都将覆盖数据。

希望这能回答您的问题。如果没有,我可以进一步提供帮助。 documentation 也会帮助你。

编辑 参考下面的评论。

ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.drawable.ic_playlist, R.string.drawer_open, R.string.drawer_close) {
        @Override
        public void onDrawerStateChanged(int newState) {
            super.onDrawerStateChanged(newState);
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
        }
}