Closed. This question needs debugging details。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
当用户在配置文件中更改显示名称时,我想再次存储共享首选项
现在,数据库中的数据已更改,但我不知道更改共享首选项
请帮帮我。
码:
检索:
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
5年前关闭。
当用户在配置文件中更改显示名称时,我想再次存储共享首选项
现在,数据库中的数据已更改,但我不知道更改共享首选项
请帮帮我。
码:
private static final String PREFERENCE_KEY = "pref_user";
private static final String DISPLAY_KEY = "user_display_name";
SharedPreferences sh_pref;
SharedPreferences.Editor sh_edit;
UserPreference setting;
private int user_id;
private String getuser_id;
private String user_display_name;
EditText EDTEditdisplay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_change_displayname);
// custom my action bar
ActionBar actionbar = getActionBar();
actionbar .setTitle("CHANGE DISPLAY NAME");
// back navigation
actionbar.setDisplayHomeAsUpEnabled(true);
// hide icon app
getActionBar().setDisplayShowHomeEnabled(false);
setting = new UserPreference(ChangeDisplayNameActivity.this);
user_id = setting.getUserID();
getuser_id = String.valueOf(user_id);
Button BTNsaveDisplayname = (Button) findViewById(R.id.BTNsaveDisplayname);
BTNsaveDisplayname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UpdateDisplayName();
}
});
}//end onCreate
public boolean UpdateDisplayName() {
EDTEditdisplay = (EditText) findViewById(R.id.EDTEditdisplay);
// Dialog alert
AlertDialog.Builder alert = new AlertDialog.Builder(this);
// Check Displayname
if(EDTEditdisplay.getText().length() == 0)
{
alert.setMessage("Please input new display name");
alert.show();
EDTEditdisplay.requestFocus();
return false;
}
// gettext from edittext
user_display_name = EDTEditdisplay.getText().toString();
List<NameValuePair> update_display = new ArrayList<NameValuePair>();
update_display.add(new BasicNameValuePair("user_id", getuser_id));
update_display.add(new BasicNameValuePair("user_display_name", user_display_name));
JSONParser jspaser = new JSONParser();
String url = "http://su13540254.2th.asia/Hello_Oppa/update_displayname.php";
String dataJSON = jspaser.makeHttpRequest(url,JSONParser.methodPost, update_display);
Toast.makeText(getApplicationContext(),
"Change display name, Complete", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(ChangeDisplayNameActivity.this, MainActivity.class);
startActivity(intent);
return true;
}//end UpdateDisplayName
最佳答案
将显示名称保存在数据库中后,再次将该代码放在您使用相同键保存共享首选项的位置,它将替换您的显示名称为共享首选项。例如。
保存:
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
mPreferences.edit().putString("DISPLAY_NAME",user_display_name).commit();
检索:
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String display_name = mPreferences.getString("DISPLAY_NAME","Default Name");
关于java - 在配置文件中编辑显示名称时如何存储重复共享首选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29045677/
10-09 17:24