我有一个简单的应用程序,我希望能够保存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/

10-11 14:26