如何在TextView中显示SharedPreferences字符串?

时间:2017-08-13 15:55:49

标签: java android-studio textview sharedpreferences

我有一个问题,我已经完成了在EditText和Button的帮助下在SharedPreferences中保存字符串所需的所有代码,但我不知道如何在TextView中永久地检索和显示它,下面我有xml和java的代码。

<EditText
    android:id="@+id/edit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/hint"
    android:layout_gravity="center"/>

<Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button"
    android:layout_gravity="center"/>

<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/empty"
    android:layout_gravity="center" />


public class MainActivity extends AppCompatActivity {

EditText editt;
Button btn;
SharedPreferences sharedpref;
TextView textv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    editt = (EditText) findViewById(R.id.edit);
    btn = (Button) findViewById(R.id.btn);
    sharedpref = getSharedPreferences("name1",MODE_PRIVATE);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String str = editt.getText().toString();
            SharedPreferences.Editor editor = sharedpref.edit();
            editor.putString("name1",str);
            editor.apply();
        }
    });
    textv = (TextView) findViewById(R.id.text1);
}

1 个答案:

答案 0 :(得分:0)

很简单:

// get the saved string from shared preferences
String name1 = sharedpref.getString("name1", "default value");
// set reference to the text view
textv = (TextView) findViewById(R.id.text1);
// set the string from sp as text of the textview
textv.setText(name1);

将这些行添加到新方法中,例如updateNameTextView(),然后在onCreate和点击侦听器中调用它。