使用SharedPreferences保存多个EditText值

时间:2017-02-16 19:05:50

标签: android android-edittext sharedpreferences

我正在尝试构建一个应用程序,其中有人可以填写他们的个人数据,如姓名,电话号码,电子邮件......

对于上面提到的每个字段,我创建了一个EditText。现在我的目标是使用SharedPreferences保存用户的输入,这样他/她每次重新打开应用程序时都不必填写。

我发现的代码只负责保存一个EditText的数据(Save entered text in editText via button)。如何在多个EditText字段中实现该目标?

这是我的XML文件:

    <?xml version="1.0" encoding="utf-8"?>

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Vul dit compleet in"
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>

  <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Naam: "
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>


    <EditText 
        android:id="@+id/edit_Naam"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:hint="Vul uw naam in"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Functie: "
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>


    <EditText 
        android:id="@+id/edit_Functie"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:hint="Vul uw functie in"/>

        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Personeelsnummer "
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>


    <EditText 
        android:id="@+id/edit_Plnr"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:hint="Vul uw plnr in"/>

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Email: " 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>

    <EditText 
        android:id="@+id/edit_Email"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:hint="NS mail"/>

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Telefoon: "  
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:textStyle="bold"/>

     <EditText
         android:id="@+id/edit_Telefoon"  
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number" 
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textColor="#000066"
        android:hint="zonder +31"/>





    <Button
        android:id="@+id/button_Opslaan"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_below="@+id/edit_Bericht"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="48dp"
            android:layout_weight="0.03"
            android:background="#009CDE"
            android:drawableLeft="@drawable/ic_launcher"
            android:text="Opslaan"
            android:textColor="#FFFFFF"/>


</LinearLayout>
</ScrollView>

2 个答案:

答案 0 :(得分:0)

尝试将其存储在共享首选项中

   // MY_CONTAINER - a static String variable like: 
    //public static final String MY_CONTAINER  = "MyPrefsFile";
    SharedPreferences.Editor editor = getSharedPreferences(MY_CONTAINER , MODE_PRIVATE).edit();
     editor.putString("edittext1", "value1"); // you can also use like this editor.putString("edittext1", ed1.getText().toString())
     editor.putString("edittext2", "value2");
editor.putString("edittext3", "value3");
editor.putString("edittext4", "value4");
editor.putString("edittext5", "value5");
     editor.commit();

要检索

SharedPreferences prefs = getSharedPreferences(MY_CONTAINER, MODE_PRIVATE); 
  String edit1 = prefs.getString("edittext1");
  String edit2 = prefs.getString("edittext2");
  String edit3 = prefs.getString("edittext3");
  String edit4 = prefs.getString("edittext4");
  String edit5 = prefs.getString("edittext5");

答案 1 :(得分:0)

您只需保存每个$(".location-chips").sortable({ stop: function(e, ui){ // This is still in the original order console.log($(this).material_chip('data').map(function(o){return o.tag}).join(";")) } }) 值,并在下次EditText重新加载时检索它们。以下代码改编自您在问题中提到的链接:

Activity