我有一个简单的应用程序,我希望能够保存EditText控件的内容,这样用户就可以添加自由格式的文本并将其存储在文本文件中
我有main.xml中的控件
<EditText
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="text in here"
android:id="@+id/editText" android:layout_gravity="center"/>
还有菜单项
<item android:id="@+id/menu_add"
android:icon="@drawable/ic_menu_add"
android:title="@string/menu_add"
android:showAsAction="ifRoom|withText"
android:onClick="addItem"
/>
一次点击调用我的additem void
public void addItem(MenuItem menuItem) {
String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath();
try {
FileWriter filenew = new FileWriter(sdcard + "/test.txt");
BufferedWriter bw = new BufferedWriter(filenew);
bw.write(menuItem.toString());
bw.close();
} catch (IOException e) {
//You'll need to add proper error handling here
}
}
现在menuitem.tostring()可以理解地返回字符串'add'
如何访问edittext控件中包含的文本,以便将其添加到test.txt文件中?
最佳答案
不确定您是如何设置此应用程序的,但将数据写入SD卡也可能不是最好的主意。
无论如何,您需要首先使用找到edittext(假设您所在的活动的根布局设置为setcontentview):
EditText mText = (EditText) this.findViewById(R.id.editText);
如果将其保存为私有变量,则可以在整个活动中使用它。
您可以通过以下方式取出文本:
mText.getText().toString();
另外,如果你真的想坚持下去的话,你可能还想更仔细地看一下你获得SD卡路径的方式。如果某人没有安装SD卡或无法访问SD卡(例如,在某些情况下某人的电话连接到USB),这将导致一些严重的问题。
关于android - EditText'text'到SD卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14129832/