我有一个文本视图。首次创建 Activity 时,textView 的值是“”,什么都没有。但是用户可以启动一些可以使 text="st" 的操作。这很好用,再一次很好用。问题是当我离开页面并返回而不是 text="st" 时,它是 " " 什么都没有。所以用户不得不浪费时间通过一些动作让textView回到“st”。
我尝试使用 SavePreferences 保存 TextView 但由于 TextView 的值在 Activity 启动时什么都没有,SavePreferences 完全符合它应该做的事情,并且使 TextView 等于什么。我没有办法保存 TextView 的值吗?我的页面上有其他视图我不想保存,那么当用户离开应用程序或活动时,如何只保存 TextView?
TextView s1;
s1 = (TextView)findViewById(R.id.s1);
//9 miles down the page
LoadPreferences();
SavePreferences("MEM46", s1.getText().toString());
LoadPreferences();}
private void SavePreferences(String key, String value){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();}
private void LoadPreferences(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String strSavedMem46 = sharedPreferences.getString("MEM46", "");
s1.setText(strSavedMem46);
lay1.setOnLongClickListener(new OnLongClickListener(){
public boolean onLongClick(View v){
AlertDialog.Builder alert = new AlertDialog.Builder(xxx.this);
alert.setTitle("Help"); //Set Alert dialog title here
alert.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface d, int choice){
if(choice == 0) {
d.cancel();
}
else if(choice == 1){
TextView ss1=(TextView)findViewById(R.id.s1);
ss1.setText("st");d.cancel(); }
else if(choice == 2) {
TextView ss1=(TextView)findViewById(R.id.s1);
ss1.setText("");d.cancel();}});
alert.show();
return true;
}});