我跟着this tutorial,顯示菜單選項時,返回值在這一行真正的2個不同的菜單選項:myMenuInflater.inflate(R.menu.menu, menu);
如何顯示在一個單一的活動
如何添加另一個菜單選項,當值返回false?我想在同一菜單按鈕中顯示2個不同的菜單選項。我的代碼:
import android.view.MenuItem;
import android.widget.Toast;
public class AndroidOptionMenu extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater myMenuInflater = getMenuInflater();
myMenuInflater.inflate(R.menu.menu, menu);
return true;
}
@Override public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId()) {
case(R.id.menu_OK):
Toast.makeText(this, "OK", Toast.LENGTH_LONG).show();
break;
case(R.id.menu_help):
Toast.makeText(this, "Help", Toast.LENGTH_LONG).show();
break;
case(R.id.menu_Cancel):
Toast.makeText(this, "Cancel", Toast.LENGTH_LONG).show();
break;
}
return true;
}
}
我不認爲你完全理解代碼示例向你展示的是什麼。爲什麼不嘗試將MenuInflater的返回值更改爲false並查看會發生什麼?如果你沒有看到任何菜單,你會感到驚訝嗎? – MarsAtomic 2013-04-25 07:26:17
我想顯示兩個不同的菜單選項,當值爲真,當值爲假 – 2013-04-25 07:29:31
請閱讀此選項菜單教程: http://mobile.tutsplus.com/tutorials/android/android-sdk-implement-an- options-menu/ 您永遠不會遇到MenuInflater返回false因爲硬編碼返回true的情況。爲什麼它總是迴歸真實?因爲如果它返回false,菜單根本不會打開。 你的問題是你對Android選項菜單沒有足夠的理解。請花時間研究並瞭解互聯網上提供的衆多選項菜單教程中的任何一個。 – MarsAtomic 2013-04-25 07:41:45