我有一个应用程序,我希望能够让用户自定义,只需从首选项菜单中将其用户名,电子邮件地址和图片设置到navDrawer即可。我不是100%肯定如何做到这一点。我不确定如何设置侦听器以从首选项屏幕获取密钥。此外,由于这些值具有id,用户可以根据他们输入的偏好来替换它们吗?
任何帮助都会很棒。
答案 0 :(得分:1)
由于您希望在每次使用应用程序时都保留这些值,因此请使用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);
}
}