我正在使用这个应用程序,我有一个EditText
字段,您可以在其中编写内容然后将其保存并添加到列表中(TextView
)。我以这种方式保存EditText
的内容:
saved += "*" + editTextFelt.getText().toString() + ". \n";
saved
是String
。
一切正常,我甚至可以重新加载应用程序,它仍然显示在TextView
,但如果我尝试写一些东西并保存那里的所有东西,现在就消失了。为什么呢?
CODE: init Method()
sp = getSharedPreferences(fileName, 0);
betaView = (TextView)findViewById(R.id.betaTextView);
我有一个按钮来发送文本,这就像:
public void onClick(View v) {
switch(v.getId()){
case R.id.btnSend:
saved += "*" + editTextFelt.getText().toString() + ". \n";
SharedPreferences.Editor editor = sp.edit();
editor.putString("SAVED", saved);
editor.commit();
betaView.setText(sp.getString("SAVED", "Empty"));
答案 0 :(得分:1)
你是如何拯救它的?因为当您针对变量保存文本时,它会替换前一个变量。
所以你需要获得前一个,然后附加新的,然后再将它保存到SharedPreferences
,如下所示:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String saved = sp.getString("YourVariable", "");
saved += "*" + editTextFelt.getText().toString() + ". \n"; //appending previous
//Editor to edit
SharedPreferences.Editor editor = preferences.edit();
editor.putString("YourVariable",saved);
editor.commit(); //don't forget to commit.
现在将此附加文字设置为TextView
,如下所示:
betaView.setText(saved);