2011-11-15 47 views
0

嗨,我想用一個菜單選項(R.id.waypointEditId)打開一個新的活動(GPSWptsEdit.class),但我沒有太多運氣碼。每次我在eclipse中以調試模式運行GPSTrialActivity,然後單擊菜單選項,當我點擊yes時,彈出一個名爲「Confirm Perspective Switch」的eclispe窗口,Defualt Instrumentation選項卡顯示「Source not found - JAR文件C :\ Program Files(x86)\ Android \ android-sdk \ platfoms \ android-8 \ android.jar沒有附加源代碼。如何從單個菜單選項開始新的活動

如果有人可以提供一些建議,這將是很多apreciated。我一直在玩:

@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

的問題可能是你缺少你的switch-case建設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返回true;並打破; ? – xDragonZ

+1

@xDragonZ當我研究'switch-case'構造時,他們告訴我總是在每個語句結束時放置'break;',否則代碼將跳轉到下一個case。 – 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

添加活動GPSWpts在清單中編輯。

+0

在閱讀所提供的評論後,我確實最終解決了該問題。原來,我忘了修改我的:「setContentView(R.layout.wptedit);」 – smithc5

0

在閱讀提供的評論後,我確實最終解決了這個問題。 原來,我忘了修改這個:

setContentView(R.layout.wptedit); 
相關問題