2014-07-25 3 views
-1

활동을 작성하여 현재 수행중인 AlertDialog를 작성하여 작성 중입니다. 다음은 전체 코드, 매니페스트 및 오류 추적입니다. 누구든지 내가 만들고있는 오류를 말할 수 있습니까?활동 시작시 Java Nullpointer 예외

// From a service 
Intent intent = new Intent(this, Myclass.class ); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.putExtra("TYPE", "ASToContainer"); 
startActivity(intent); 

// Activity 
public class Myactivity extends Activity 
{ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    String type = savedInstanceState.getString("TYPE"); 

    if(type.equalsIgnoreCase("ASToContainer")) 
    { 
     AlertDialog.Builder builder = new AlertDialog.Builder(Myactivity.this); 
     builder.setMessage(R.string.SWITCH_ACTIVESYNC_TO_WORKSPACE); 
     builder.setIcon(R.drawable.icon); 
     builder.setCancelable(false); 
     builder.setTitle(R.string.SWITCH_AS_CONFIRMATION); 
     builder.setPositiveButton(R.string.DIALOG_YES, new DialogInterface.OnClickListener() 
     { 
      public void onClick(DialogInterface dialog, int which) 
      { 
       AnotherService serviceInstance = AnotherService.getInstance(); 
       if(serviceInstance != null) 
       { 
        serviceinstance._SwitchASToContainerRejected = 1; 
        serviceInstance.requestClearActiveSyncRegistration(); 
       } 
      }   
     }) 
     .setNegativeButton(R.string.DIALOG_NO, new DialogInterface.OnClickListener() 
     { 
      public void onClick(DialogInterface dialog, int which) 
      { 
       AnotherService.getInstance()._SwitchASToContainerRejected = 0;  
      }   
     }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 
    } 
} 
} 

// Manifest 
<android:name="mypackagename.activity.Myactivity" android:theme="@android:style/Theme.Dialog"></activity> 

// trace 


07-24 16:30:04.877: C/Myapp(619): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.IMC}: java.lang.NullPointerException 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
07-24 16:30:04.877: C/Myapp(619): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-24 16:30:04.877: C/Myapp(619): at android.os.Looper.loop(Looper.java:123) 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-24 16:30:04.877: C/Myapp(619): at java.lang.reflect.Method.invokeNative(Native Method) 
07-24 16:30:04.877: C/Myapp(619): at java.lang.reflect.Method.invoke(Method.java:521) 
07-24 16:30:04.877: C/Myapp(619): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-24 16:30:04.877: C/Myapp(619): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-24 16:30:04.877: C/Myapp(619): at dalvik.system.NativeStart.main(Native Method) 
07-24 16:30:04.877: C/Myapp(619): Caused by: java.lang.NullPointerException 
07-24 16:30:04.877: C/Myapp(619): at com.example.myapp.IMC.onCreate(IMC.java:57) 
07-24 16:30:04.877: C/Myapp(619): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
07-24 16:30:04.877: C/Myapp(619): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 

내가 뭘 잘못하고 있니? 이것이 Dialog 프롬프트를 만드는 올바른 방법입니까? 제발 도와주세요

+0

발생 원인 : com.example.myapp.IMC.onCreate (java..java:57)의 java.lang.NullPointerException <- 문제가 있습니다. – panini

+0

라인 57은 어느 것입니까? –

+0

그리고 그것은'String type = getIntent.getStringExtra ("TYPE")'으로되어 있습니다. –

답변

0

문제는 "활동 이름"입니다.

의도 의도 = 새로운 의도 (this, Myclass.class); // 당신은

를 사용하지만 당신은 당신이 활동 이름 "MyClass에"를 요구하고 있지만 활동 이름이 "Myactivity"입니다 서비스에서

"Myactivity"를 사용하고 있습니다. 저것은 Nullpointerexception를 던지고있다. 그것은 클래스/활동 이름 "Myclass"를 찾을 수 없기 때문입니다.

그래서 Myclass 이름을 Myactivity로 변경하십시오. 문제를 해결할 것입니다.