【问题标题】:Save button stops app保存按钮停止应用程序
【发布时间】:2013-05-18 00:11:17
【问题描述】:
public void save(View v) {
    switch(v.getId()) {
        case R.id.bSave:
            filename = "data/monday.txt";
            vsName.showPrevious();
            vsTime.showPrevious();
            vsQuantity.showPrevious();
            vsImage.showPrevious();
            save.setVisibility(View.GONE);

            try{
                monday = new File(filename);
                if (!monday.exists()) {
                    if (!monday.createNewFile()) {
                        throw new IOException("Unable to create file");
                    }
                }

                fos = new FileOutputStream(monday);
                oos = new ObjectOutputStream(fos);
                oos.writeObject(etName.getText().toString());
                oos.writeObject(etQuantity.getText().toString());
                oos.writeObject(etTime.getText().toString());
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }
            finally{
                try {
                    fos.close();
                    oos.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

            break;
    }
}

这是我保存方法的代码。我希望它保存编辑文本,这样即使在我关闭程序后我的文本视图也会保留。这是我第一次使用文件输出流,所以我不知道如何解决这个问题。当我点击保存按钮时,它说不幸的是它已经停止了。

05-22 15:32:40.095: E/AndroidRuntime(6984): FATAL EXCEPTION: main
05-22 15:32:40.095: E/AndroidRuntime(6984): java.lang.IllegalStateException: Could not     execute method of the activity
05-22 15:32:40.095: E/AndroidRuntime(6984):     at  android.view.View$1.onClick(View.java:3599)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.view.View.performClick(View.java:4204)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.view.View$PerformClick.run(View.java:17355)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.os.Handler.handleCallback(Handler.java:725)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at  android.os.Looper.loop(Looper.java:137)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at java.lang.reflect.Method.invokeNative(Native Method)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at java.lang.reflect.Method.invoke(Method.java:511)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at dalvik.system.NativeStart.main(Native Method)
05-22 15:32:40.095: E/AndroidRuntime(6984): Caused by: java.lang.reflect.InvocationTargetException
05-22 15:32:40.095: E/AndroidRuntime(6984):     at java.lang.reflect.Method.invokeNative(Native Method)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at java.lang.reflect.Method.invoke(Method.java:511)
05-22 15:32:40.095: E/AndroidRuntime(6984):     at android.view.View$1.onClick(View.java:3594)
05-22 15:32:40.095: E/AndroidRuntime(6984):     ... 11 more
05-22 15:32:40.095: E/AndroidRuntime(6984): Caused by: java.lang.NullPointerException
05-22 15:32:40.095: E/AndroidRuntime(6984):     at tbjsoft.medicationreminder.Monday.save(Monday.java:170)
05-22 15:32:40.095: E/AndroidRuntime(6984):     ... 14 more

【问题讨论】:

    标签: java android save fileoutputstream objectoutputstream


    【解决方案1】:

    您最好使用共享首选项将文本保存在 edittext 中。

    How to use SharedPreferences in Android to store, fetch and edit values

    您在此处显示的方法无助于解决问题,除非您将使用此方法的代码放入其中。

    【讨论】:

    • 是的,从那以后我就换了。现在,当我点击后退按钮或关闭应用程序时,我遇到了问题。文本视图的值不会保留。
    • 其实我只是想出了办法,但是你知道我是否可以使用 sharedpreferneces 来保存图像吗?
    • "prefs.edit().put" 当你输入这个时,你会得到一些来自 android 的建议。目前只有这些是保存首选项的可用选项。你最好缓存图片。
    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多