2017-08-15 25 views
0

我在android中使用sharedpreferences在android中保存數據。關閉並重新打開應用程序保存的數據時,sharedpreferences沒有顯示?

我能夠成功保存數據,但我不知道是否顯示關閉應用程序並重新打開保存的數據。

我的代碼:

public class MainActivity extends Activity { 

EditText editText; 
Button button; 
Button button1; 
TextView text; 
public static final String mypreference = "MY_PREFS_NAME"; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    editText = (EditText) findViewById(R.id.editText); 
    button = (Button) findViewById(R.id.button); 
    button1 = (Button) findViewById(R.id.button2); 
    text = (TextView) findViewById(R.id.textView); 
    button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 

      SharedPreferences shared = getSharedPreferences(mypreference, MODE_PRIVATE); 
      SharedPreferences.Editor editor = shared.edit(); 
      editor.putString("mn",editText.getText().toString()); 
      editor.commit(); 

      SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE); 
      String ap = prefs.getString("mn",""); 
      text.setText(ap); 




     } 

    }); 
+0

你是什麼意思,你不確定它是否被保存?你如何測試它? – Vega

+0

刪除不必要的細節將'i'改爲'I' – user7294900

回答

1

你在裏面的onClick

這樣
SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE); 
String ap = prefs.getString("mn",""); 
text.setText(ap); 

所以它不會自動執行,onLoad的調用的下一次。如果你想這樣做,你可以在你的0123L方法中將這些行移到clickListener實現之外,如下所示。

SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE); 
String ap = prefs.getString("mn",""); 
text.setText(ap); 
button.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View view) { 

     SharedPreferences shared = getSharedPreferences(mypreference, MODE_PRIVATE); 
     SharedPreferences.Editor editor = shared.edit(); 
     editor.putString("mn",editText.getText().toString()); 
     editor.commit(); 

     SharedPreferences prefs = getSharedPreferences(mypreference, MODE_PRIVATE); 
     String ap = prefs.getString("mn",""); 
     text.setText(ap); 

    } 

}); 
+0

Tnq .. so much it working know ... – Raj

+0

樂意幫忙。請接受答案:) –

相關問題