从文本字段保存数据

时间:2014-03-19 03:10:03

标签: java android save textfield android-xml

我的应用程序有一些可编辑的文本字段,但没有保存他添加的内容,我想退出应用程序,并在重新输入我的数据时仍然存在。

XML

 <DigitalClock
    android:id="@+id/digitalClock1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="28dp"
    android:layout_marginTop="28dp"
    android:text="DigitalClock"
    android:textColor="#FA8072"
    android:textSize="40dp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/digitalClock1"
    android:layout_toLeftOf="@+id/digitalClock1"
    android:text="MEDICINES"
    android:textColor="#228B22"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textSize="20dp" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="39dp"
    android:ems="10" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="22dp"
    android:text="Name" />

<TextView
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText1"
    android:layout_below="@+id/editText1"
    android:layout_marginTop="8dp"
    android:text="Name" />

<EditText
    android:id="@+id/EditText01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/TextView01"
    android:layout_centerVertical="true"
    android:layout_marginTop="8dp"
    android:ems="10" />

</RelativeLayout>

JAVA

    public PagesFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_pages, container, false);

    return rootView;
}
}

3 个答案:

答案 0 :(得分:2)

您可以使用bundle将edittext值存储在onSaveInstanceState上。并检查oncreate方法中的条件是否bundle对象为null,如果它不为null,则使用get *方法从中检索。如果您想在整个应用程序中持久保存数据,可以使用sharedprefrensce。

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

答案 1 :(得分:2)

    //For storing string value in sharedPreference     
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putString("Name","Harneet");
    editor.commit();

    //For retrieving string value from sharedPreference
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    String name = preferences.getString("Name","");

答案 2 :(得分:1)

您可以尝试使用SharedPreference。覆盖活动中的onPause()并将文本存储在SharedPreference中。在活动的onResume()中,从SharedPreference中检索它并将其加载回EditText