如問題所述,它不起作用。當我按菜單按鈕時,什麼都沒有出來。Android選項菜單不起作用
這是菜單活動:
public class AndroidMenuActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewphoto);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.edit:
Toast.makeText(getApplicationContext(), "edit selected", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), PhotoFlashActivity.class);
startActivity(i);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
和一個非常小的menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/edit"
android:title="Edit"/>
</menu>
我不知道什麼是錯的,我已經看了教程沒提到將活動添加到清單文件中,所以我不確定是否必須這樣做。甚至當我做到這一點時也不起作用。我試過清理這個項目,但那也不管用。
嗨,@consprice我只是添加菜單相關的代碼和menu.xml文件到我活動,我發現它的作品。也許別的東西是錯的。 – Huang 2012-08-10 03:28:29
@黃我試着刪除活動創建新的確切代碼,但不起作用。一個小問題,是否需要將活動添加到清單文件?如果可能的話,還有什麼可能造成這種情況。如果有幫助,我使用api level 8。 – consprice 2012-08-10 03:37:45
您應該在清單文件中聲明您自己的所有活動,否則當系統嘗試啓動活動時系統會發出錯誤,因爲系統找不到它。我剛剛創建了一個全新的API 7項目,並且複製了與菜單過程相關的所有代碼,並且它能夠工作... – Huang 2012-08-10 03:46:46