我有一个奇怪的问题。我的应用程序有一个自定义对话框,带有一个保存密码的按钮。它工作正常。但有时它会崩溃(我做同样的互动)。 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);
答案 0 :(得分:2)
更改
dialog.cancel();
到
dialog.dismiss();
找到
的IDEditText 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条件......当你要求用户输入一些输入并且用户没有输入输入并点击“保存密码”按钮时,主要发生...如果你想发帖保存密码代码片段在这里,我会帮助你...希望这将解决你的问题......
谢谢