共享首选项用户名
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);
}
}
我有一个应用程序,我希望它能够让用户自定义,从首选项菜单中将他们的用户名、电子邮件地址和图片设置到 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);
}
}