我的应用程序有一些可编辑的文本字段,但没有保存他添加的内容,我想退出应用程序,并在重新输入我的数据时仍然存在。
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;
}
}
答案 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