2011-08-07 7 views
-1

をインスタンス化できません、私は次の例外を取得しています:java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{cs.workshop.solvedroid/cs.workshop.solvedroid.SolveCaptureActivity}: java.lang.NullPointerExceptionなっ例外:活動ComponentInfo

私はアプリケーションを実行すると、MainMenuActivityに取得し、私は例外を取得SolveCaptureAvctivityを開こう。

この例外について他の質問がありますが、それらはすべてAndroidManifest.xmlを指しており、 は私にとってうまく感じます。それは何でしょうか?助けてください

public class SolveCaptureActivity extends Activity { 

ボタンbCamera; ImageView captured_image =(ImageView)findViewById(R.id.image_capture_photo);

private static final int PICTURE_REQUEST = 0; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.solve_capture); 
    Log.e("mydebug", "ERROR ERROR ERROR"); 
    /* 
    // "Back" button 
    Button bBack = (Button) findViewById(R.id.button_back); 
    bBack.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent gotoBack = new Intent(); 
      setResult(RESULT_OK, gotoBack); 
      finish(); 
     } 
    }); 
    */ 

    // "Camera" button 
    bCamera = (Button) findViewById(R.id.button_camera); 
    bCamera.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(camera, PICTURE_REQUEST); 
      int caemraRequestCode = 0, CameraResultCode = -1; 
      Intent data = new Intent(); 
      try{ 
      onActivityResult(caemraRequestCode, CameraResultCode, data); 
      } 
      catch(Exception e){ 
       Log.e("mydebug", "ERROR ERROR ERROR"); 
      } 


     } 

     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
      Log.d("mylog", "here1"); 
      Log.d("mylog", Integer.toString(requestCode)); 
      Log.d("mylog", Integer.toString(resultCode)); 
      if (requestCode == PICTURE_REQUEST) { 
       Log.d("mylog", "here2"); 
       if (resultCode == Activity.RESULT_OK){ 
        // Display image received on the view; 
        Log.d("mylog", "here3"); 
        Log.d("mylog", "here4"); 
        Bitmap photo = (Bitmap) data.getExtras().get("data");     
        if (photo != null) { // Display your image in an ImageView in your layout (if you want to test it) 
         Log.d("mylog", "here5"); 
         ImageView pictureHolder = (ImageView) findViewById(R.id.image_capture_photo); 
         pictureHolder.setImageBitmap(photo);        
        } 
       } 
      } 
     } 
    }); 


} 

}

public class MainMenuActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mainmenu); 


    // "Solve Capture" button 
    Button bSlvCapture = (Button) findViewById(R.id.button_mainmenu_solvecapture); 
    bSlvCapture.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent gotoSolveCapture = new Intent(v.getContext(), SolveCaptureActivity.class); 
      startActivityForResult(gotoSolveCapture, 0); 
     } 
    }); 

    // "Solve Manual" button 
    Button bSlvManual = (Button) findViewById(R.id.button_mainmenu_solvemanual); 
    bSlvManual.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent gotoSolveManual = new Intent(v.getContext(), SolveManualActivity.class); 
      startActivityForResult(gotoSolveManual, 0); 
     } 
    }); 

    // "About" button 
    Button bAbout = (Button) findViewById(R.id.button_mainmenu_about); 
    bAbout.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent gotoAbout = new Intent(v.getContext(), AboutActivity.class); 
      startActivityForResult(gotoAbout, 0); 
     } 
    });  

}}

8月7日18:33:23.854:I NFO/ActivityManager(70):表示されたcs.workshop.solvedroid/.MainMenuActivity:+ 4s385ms 08-07 18:33:26.784:INFO/ActivityManager(70):開始:インテント{cmp = cs.workshop.solvedroid/.AboutActivity } 330から 08-07 18:33:26.984:DEBUG/dalvikvm(330):GC_EXTERNAL_ALLOCは11K、53%フリー2582K/5379K、外部7607K/9499K、一時停止51ms 08-07 18:33:28.434:INFO/ActivityManager(70):表示されたcs.workshop.solvedroid/.AboutActivity:+ 1s68ms 08-07 18:33:29.104:WARN/KeyCharacterMap(330):ID 0のキーボードなし 08-07 18:33:29.104: WARN/KeyCharacterMap(330):デフォルトのキーマップを使用する:/system/usr/keychars/qwerty.kcm.bin 08-07 18:33:30.674:INFO/ActivityManager(70):開始:Intent {cmp = cs.workshop。 solvedroid/.SolveCaptureActivity} from pid 330 08-07 18:33:30.834:DEBUG/AndroidRunt dwvikvm(330):threadid = 1:キャッチされない例外(グループ= 0x40015560)でスレッドが終了する 08-07 18:33:30.874:ERROR/AndroidRuntime(330):致命的な例外:メイン 08-07 18:33:30.874:ERROR/AndroidRuntime(330):java.lang.RuntimeException:アクティビティをインスタンス化できませんComponentInfo {cs.workshop.solvedroid/cs.workshop.solvedroid .SolveCaptureActivity}:java.lang.NullPointerException 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544) 08-07 18:33:30.874 :ERROR/AndroidRuntime(330):android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.ActivityThread.access $ 1500 ActivityThread.java:117) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.ActivityThread $ H.handleMessage(ActivityThread.java:928) 08-07 18:33:30.874:ERROR/AndroidRuntime(330) :android.os.Handler.dispatchMessage(Handler.java:99) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.os.Looper.loop(Looper.java:123) 08 -07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.ActivityThread.main(ActivityThread.java:3647) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):at java。 lang.reflect.Method.invokeNative(ネイティブメソッド) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):java.lang.reflect.Method.invoke(Method.java:507) 08-07 18 :33:30.874:ERROR/AndroidRuntime(330):com。android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):com.android.internal.os.ZygoteInit.main(ZygoteInit。08-07 18:33:30.874:ERROR/AndroidRuntime(330):エラー:原因:java.lang.NullPointerException 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.Activity.findViewById(Activity.java:1647) 08-07 18:33:30.874: ERROR/AndroidRuntime(330):cs.workshop.solvedroid.SolveCaptureActivity(SolveCaptureActivity.java:15) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):java.lang.Class.newInstanceImpl(ネイティブメソッド) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):java.lang.Class.newIns (クラス:java:1409) 08-07 18:33:30.874:ERROR/AndroidRuntime(330):android.app.Instrumentation.newActivity(Instrumentation.java:1021) 08-07 18:33:30.874: ERROR/AndroidRuntime(330):android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)で 8月7日18:33:30.874:ERROR/AndroidRuntime(330)... 11もっと

manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="cs.workshop.solvedroid" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    uses-sdk android:minSdkVersion="9" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:label="@string/app_name" android:name=".MainMenuActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:label="@string/app_name" android:name="AboutActivity"></activity> 
     <activity android:label="@string/app_name" android:name="SolveCaptureActivity"></activity> 
     <activity android:label="@string/app_name" android:name="SolveManualActivity"></activity> 
     <activity android:label="@string/app_name" android:name="ManualSolutionActivity"></activity> 

    </application> 
manifest> 

答えて

4

あなたはsetContentView()が呼び出された後までfindViewById()を使用することはできません。

+0

+1この混乱で読むことを管理する:) – MByD

関連する問題