사용자가 옵션 메뉴에서 "로그 아웃"(R.Id.logout)을 선택할 때마다 널 포인터 예외가 발생합니다. 내가 초기화하지 않는 것을 알아낼 수 없다.공유 기본 설정을 지우면 Null 포인터 예외가 발생합니다.
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.settings:
return false;
case R.id.about:
this.startActivity(new Intent(this, About.class));
return true;
case R.id.logout:
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
alertbox.setTitle("Logout");
alertbox.setMessage("Logging out will remove your credentials from this phone. \nDo you want to logout?");
alertbox.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
Editor e = loginPref.edit();
e.clear();
Homepage.this.startActivity(new Intent(getApplicationContext(), Login.class));
Homepage.this.finish();
}
});
alertbox.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert = alertbox.show();
return true;
}
return false;
}
로그 캣
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): FATAL EXCEPTION: main
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): java.lang.NullPointerException
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at org.*****.android.Homepage$1.onClick(Homepage.java:79)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at android.os.Handler.dispatchMessage(Handler.java:99)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at android.os.Looper.loop(Looper.java:123)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at java.lang.reflect.Method.invokeNative(Native Method)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at java.lang.reflect.Method.invoke(Method.java:521)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-16 10:09:49.705: ERROR/AndroidRuntime(1531): at dalvik.system.NativeStart.main(Native Method)
logcat 오류 정보를 표시 할 수 있다면 null 포인터 예외를 얻을 수있는 위치를 알 수 있습니다. 또는 logcat을 확인하고 그 행에 주석을 달아주십시오. – Pratik
어디에서 삭제하고 있습니까? ...? 더 많은 코드와 logcat을 게시하십시오 .. – ngesh
당신은 logcat을 보여줄 수 있습니까? –