应用程序有时会在onClick - Android之后崩溃

时间:2013-12-16 13:39:35

标签: android crash onclick

我有一个奇怪的问题。我的应用程序有一个自定义对话框,带有一个保存密码的按钮。它工作正常。但有时它会崩溃(我做同样的互动)。 Logcat抛出NullPointerException。但我检查了代码并没有找到导致此错误的部分。

问题在于难以模拟错误。它有时会发生。可能是什么原因?应用程序有时挂起,如果我再次按下按钮,它会崩溃。

这是logcat:

java.lang.NullPointerException
at de.tapps.guardian.free.MainActivity$7$1.onClick(MainActivity.java:1312)
at android.view.View.performClick(View.java:4232)
at android.view.View$PerformClick.run(View.java:17298)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(Native Method)

这似乎是错误代码(第1312ff行):

@Override
                        public void onClick(View v) {
                            dialog.cancel();
                            SharedPreferences settings = getSharedPreferences("App", 0);
                            SharedPreferences.Editor editor = settings.edit();
                            editor.putString("pass",
                                    ((EditText) findViewById(R.id.input_password)).getText().toString());
                            editor.commit();
                            setContentView(R.layout.settings);

2 个答案:

答案 0 :(得分:2)

更改

dialog.cancel();

dialog.dismiss();

找到

的ID
EditText edt = (EditText) findViewById(R.id.input_password))

on onCreate()方法:

之后获取String中的EditText值

String str = edt.getText().toString();

将此传递给SharedPreference

editor.putString("pass",str);

答案 1 :(得分:0)

在那里放一个try / catch或if条件......当你要求用户输入一些输入并且用户没有输入输入并点击“保存密码”按钮时,主要发生...如果你想发帖保存密码代码片段在这里,我会帮助你...希望这将解决你的问题......

谢谢