2012-02-09 13 views
0

私はAndroidでまったく新しいものです。私はメニューボタンを設定しようとし、この問題を遭遇しました。私はこのことについてこのフォーラムをチェックし、何かが定義されていないことを意味するが、コード内のどれが定義されていないのか分からないことを意味することがわかった。助けてください!どんな提案も大歓迎です。致命的な例外:java.lang.NullPointerExceptionによって引き起こされるmainメニューボタン

ちなみにCamera_SettingActivity.javaは別に実行するとうまく動作します。

public class VideoViewActivity extends Activity { 

    protected int my_num = 2280; 
    protected Intent intent_camera; 

    /** Called when the activity is first created. */ 
      @Override 
      public boolean onCreateOptionsMenu(Menu menu) { 
       MenuInflater inflater = getMenuInflater(); 
       inflater.inflate(R.layout.menu, menu); 
       return true; 
      } 

      @Override 
      public boolean onOptionsItemSelected(MenuItem item) { 

       intent_camera = new Intent(); 

       switch (item.getItemId()) { 

        case R.id.camera: 
         intent_camera.setClass(VideoViewActivity.this, Camera_SettingActivity.class); 
         startActivityForResult(intent_camera, my_num); 
         break; 

       } 
       return true; 
      } 

} 



public class Camera_SettingActivity extends Activity { 


protected int my_num = 1228; 
private Bundle bundle; 

public static String url = "rtsp://v3.cache8.c.youtube.com/CiILENy73wIaGQmXovF6e-Rf-BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"; 
private VideoView videoView1 = null; 
private Context ctx = null; 
private ProgressBar prog1 = null; 

protected String str_IP; 

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

    bundle = this.getIntent().getExtras(); 

    str_IP = bundle.getString("editIP"); 

    Button test1 = (Button) findViewById(R.id.button_test1); 

    test1.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      prog1 = (ProgressBar)findViewById(R.id.progressBar1); 
        videoView1 = (VideoView) findViewById(R.id.videoView1); 
        Uri video = Uri.parse(url); 

        videoView1.setVideoURI(video); 

        videoView1.setOnErrorListener(new OnErrorListener() { 

         @Override 
         public boolean onError(MediaPlayer mp, int what, int extra) { 
          // TODO Auto-generated method stub 
          Toast.makeText(ctx, "Error occured", 500).show(); 
          return false; 
         } 
        }); 

        videoView1.setOnPreparedListener(new OnPreparedListener() { 

         public void onPrepared(MediaPlayer arg0) { 
          prog1.setVisibility(View.GONE); 
          videoView1.start(); 
         } 
        }); 
      } 

    }); 
} 

@Override 
protected void onDestroy() { 
    try{ 
     videoView1.stopPlayback(); 
    }catch(Exception e){ 
     // 
    } 
    super.onDestroy(); 
} 

}

+1

LogCatの出力を投稿してください。 NPEが発生した行番号が表示されます。 –

+1

57行目を含む 'Camera_SettingActivity.java'に関数を投稿してください。 –

+0

あなたのコメントをありがとう。私が "str_IP = bundle.getString(" editIP ");"という行を取り除いた後、Camera_SettingActivity.javaのポストされたコードに見られるように、メニューは機能します。 – user1200699

答えて

1

すべてのアクティビティはonCreate()メソッドを持つべきです。あなたのコードにはそれがありません。これはエラーを引き起こす可能性があります。メソッド内にonCreate()とsetContentView()を追加します。

+0

こんにちは、ありがとうございました。/**の後にこれを追加しました。アクティビティが最初に作成されたときに呼び出されました。 * /、でも同じ問題です。 @Override パブリックボイドのonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); } – user1200699

関連する問題