我有多个edittext框,点击" Save"按钮,它应该能够获取文本并在应用程序再次打开时检索它。
xml文件的代码如下:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:focusable="false"
android:gravity="center"
android:height="50dip"
android:text="@string/TabletName"
android:textColor="@color/white"
android:textStyle="bold"
android:width="200dip" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:clickable="false"
android:focusable="false"
android:gravity="center"
android:height="50dip"
android:text="@string/Quantity"
android:textColor="@color/white"
android:textStyle="bold"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="160dip"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow7"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow8"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow9"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterNameHere"
android:inputType="text"
android:textColor="@color/black"
android:width="200dip" />
<EditText
android:id="@+id/editText16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/EnterQuantity"
android:inputType="number"
android:textColor="@color/black"
android:width="120dip" />
</TableRow>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/Save"
android:textColor="@color/white" />
</TableLayout>
java文件中的代码如下:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class TabletNotifier extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_screen2, menu);
return true;
}
}
我使用的是Eclipse IDe,而且我对android也很新,所以任何答案都会受到赞赏..谢谢:)
答案 0 :(得分:1)
首先从EditText
和AppPreferences
类获取值:
AppPreferences appPrefs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appPrefs=new AppPreferences(this);
EditText editMessage=(EditText)findViewById(R.id.youredittext);
String messageString1=editMessage.getText().toString();
//so as for other too
}
AppPreferences.java 是:
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
public class AppPreferences {
private SharedPreferences appSharedPrefs;
private Editor prefsEditor;
public AppPreferences(Context context) {
this.appSharedPrefs = PreferenceManager
.getDefaultSharedPreferences(context);
this.prefsEditor = appSharedPrefs.edit();
}
public String getValue(String text) {
return appSharedPrefs.getString(text, "");
}
public void setValue(String key,String text) {
prefsEditor.putString(key, text);
prefsEditor.commit();
}
}
然后点击保存按钮:
appPrefs.setValue("message1",messageString1);
//so as save others too
然后您可以随时检索这些值,如:
appPrefs.getValue("message1")
//so as retrive other values
答案 1 :(得分:0)
Android允许您使用Bundle存储有关Activity的持久信息。当活动再次作为onCreate方法中的参数启动时,将为您提供此Bundle。你可以看看这个已回答的问题:
What's onCreate(Bundle savedInstanceState)
更新:如果您想要持久存储,则必须使用SharedPreferences对象或SQLite数据库。您可以在Android Developer website上了解更多信息。