2011-11-15 12 views
0

こんにちは、私は単一のメニューオプション(R.id.waypointEditId)で新しいアクティビティ(GPSWptsEdit.class)を開こうとしていますが、コード。 eclipseでデバッグモードでGPSTrialActivityを実行し、メニューオプションをクリックするたびに、 "Confirm Perspective Switch"と呼ばれるeclispeでポップアップウィンドウが表示されます。デフォルトの計測器タブに「Source not found - JARファイルC :\ Program Files(x86)\ Android \ android-sdk \ platfoms \ android-8 \ android.jarにはソースがありませんどのように1つのメニューオプションから新しいアクティビティを開始しますか

誰かがいくつかの提案を手伝うことができれば、非常に感謝しています。私は一緒に遊んでされています:

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
} 
public boolean onOptionsItemSelected(MenuItem item){ 
    switch (item.getItemId()){ 
    case R.id.waypointEditId: 
     waypointEdit(); 
     return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
public void waypointEdit(){ 
    startActivity(new Intent(GPSTrialActivity.this, GPSWptsEdit.class)); 
} 

} 
+2

何が効いていないのですか? – Vladimir

+2

何がエラーなのですか? –

答えて

0

問題は、あなたのスイッチケース構造でbreakが欠落していることかもしれません。このコードで

を試してみてください
@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
} 

public boolean onOptionsItemSelected(MenuItem item){ 
    switch (item.getItemId()){ 
    case R.id.waypointEditId: 
     waypointEdit(); 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
     break; 
    } 
} 

public void waypointEdit(){ 
    Intent i = new Intent(GPSTrialActivity.this, GPSWptsEdit.class); 
    startActivity(i); 
    } 
} 

しかし、問題点を教えてください。どのエラーが出るのですか? logcatは何を言いますか?

+0

異なるbtwは何を返しますか?そして壊れる。 ? – xDragonZ

+1

@xDragonZ 'switch-case'構造を調べたところ、すべてのステートメントの最後に' break; 'を置くように言われました。そうしないと、コードは次のケースにジャンプします。 – Mangusto

+1

'option'を処理したときに' true'を返さなければなりません、 'false'は' option'を処理しなかったことを意味します。 –

0

私は自分のプロジェクトで同じことを使用しており、うまくいきました。

私が使用:あなたは

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 

     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.custom_menu, menu); 
     return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 

     case R.id.add_new: 
         openDialog(); 
         return true; 

     case R.id.delete_all: 
          // some code 
          return true; 
     default: 
          return super.onOptionsItemSelected(item); 
    } 
} 

public void openDialog() 
{ 
     Intent intent=new Intent(ThisActivity.this,NewActivity.class);   
     startActivity(intent); 
     finish();    
} 

何の問題を得るのですか?

+0

提供されたコメントを読んだ後、私は問題を解決しました。私は「setContentView(R.layout.wptedit);」と言っていたことを忘れていたことが分かります。 – smithc5

0

addアクティビティGPSWptsEdit in menifest。

+0

提供されたコメントを読んだ後、私は問題を解決しました。私は「setContentView(R.layout.wptedit);」という言い回しを忘れていたことが分かります。 – smithc5

0

提供されたコメントを読んだところ、問題は解決しました。 これを改めて忘れてしまった:

setContentView(R.layout.wptedit); 
関連する問題