Android Studio Menu item 的简单使用
關(guān)于Menu的簡單使用,大致概括為Menu的創(chuàng)建,和Item的監(jiān)聽事件。
目錄
1.Item的創(chuàng)建
菜單的響應事件
1.Item的創(chuàng)建
首先我們打開Android Studio新建一個項目。
?選擇一個Empty Activity,完成點擊next。
輸入項目名點擊Finish。
切換為項目工程
?
?
點擊ok,再鼠標右擊,新建一個Resource File 點擊ok
?創(chuàng)建完成之后我們打開剛剛新建的 main 去寫item標簽。
這里我們創(chuàng)建兩個 item 標簽,先不管其內(nèi)容。?
這個時候你點擊運行模擬器,但是你會發(fā)現(xiàn)在 Test 這個活動中并沒有出現(xiàn)圖中所示的菜單欄。當然這上面只是教你如何創(chuàng)建,想要在活動中顯示出來,需要回到 MainActivity 里面重寫 onCreateOptionsMenu() 方法, 重寫方法可以使用 Ctrl + o 快捷鍵(Mac 系統(tǒng)是 control+ o)如下圖
?在onCreateOptionsMenu()中輸入以下代碼
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}通過 getMenuInflater() 方法能夠得到 MenuInflater 對象,再調(diào)用它的 inflate() 方法就可以給當前活動創(chuàng)建菜單了。inflate() 方法接受兩個參數(shù),第一個參數(shù)用于指定我們通過哪一個資源文件來創(chuàng)建菜單,這里當然傳入 R.menu.main。 第二個參數(shù)用于指定我們的菜單項將添加到哪一個 menu 對象當中,這里直接使用 onCreateOptionsMenu() 方法傳入的 menu 參數(shù)。然后這個方法返回 true ,表示允許創(chuàng)建的菜單顯示出來, 如果返回了 false, 創(chuàng)建的菜單將無法顯示。
這個時候再點擊運行在 Mian 活動界面就會出現(xiàn)菜單欄
菜單的響應事件
?這個時候我們先再建一個活動
?為了區(qū)分這兩個活動,給這兩個活動加上 TextView 。
下面定義菜單的響應事件。在 MainActivity 中重寫 onOptionsItemSelected() 方法
public boolean onOptionsItemSelected(MenuItem item){Intent intent = null;switch (item.getItemId()){case R.id.First_item:Toast.makeText(this,"You clicked first item",Toast.LENGTH_SHORT).show();break;case R.id.Sce_item:intent = new Intent(MainActivity.this, FirstActivity.class);Toast.makeText(this,"You clicked second item",Toast.LENGTH_SHORT).show();break;default:}startActivity(intent);return true;}這個時候我們在點擊運行模擬器,貌似第一個 item 出了一點小問題,我們點擊第二個按鈕,我們就會到 First 活動里面了?。
當然,你要是想在 First 活動中添加菜單,你需要把對應的代碼加入到 FirstActivity 里面。
最后我們來解決那個第一個 item 點擊出現(xiàn)閃退的問題,先放下對應的代碼圖片。
可以看到,在 switch case 里面我們有兩個語句,這兩個語句,只有一個用到了? intent? 語句,但是在?switch case 執(zhí)行之后,我們都執(zhí)行了?startActivity(intent) ,但是對于第一種情況,當你給First_item 的響應時間并沒有涉及到 intent 。所以代碼改成以下代碼。
public boolean onOptionsItemSelected(MenuItem item){Intent intent = null;boolean flag = true;switch (item.getItemId()){case R.id.First_item:Toast.makeText(this,"You clicked first item",Toast.LENGTH_SHORT).show();flag = false;break;case R.id.Sce_item:intent = new Intent(MainActivity.this, FirstActivity.class);Toast.makeText(this,"You clicked second item",Toast.LENGTH_SHORT).show();break;default:}if(flag){startActivity(intent);flag = false;}return true;}這個時候,我們再點擊運行。結(jié)果如下:
?
文章部分來自 《第一行代碼》 第? 2 版? ?郭 霖? ?著 本文只是將在寫app時遇到的一點小問題,同書上的內(nèi)容結(jié)合以下,想要學習 Andriod 開發(fā)這里極力推薦《一行代碼》。由于本人目前是一名大二的蒟蒻學生,所以如有出錯或不當請多多包涵,多多指教。
?
總結(jié)
以上是生活随笔為你收集整理的Android Studio Menu item 的简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10之缺少一个或者多个协议(只能上
- 下一篇: [凯立德]2014春季版3121J0H+