- 建立 Menu XML 檔案,檔案名稱不重要,只要符合 resource id 命名條件即可
- 在 activity 裡讀入 resource
- 充氣,收工
res/menu/menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/group"> <item android:title="壹" android:orderInCategory="1" android:id="@+id/item1"></item> <item android:title="參" android:orderInCategory="3" android:id="@+id/item3"></item> <item android:title="貳" android:orderInCategory="2" android:id="@+id/item2"></item> </group> </menu>XMLMenuActivity
public class XMLMenuActivity extends Activity { private int total; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // 就這樣 MenuInflater mi = this.getMenuInflater(); // 檔案名稱成為 resource id,可以有多個 menu 檔案 mi.inflate(R.menu.menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { TextView tv = (TextView) this.findViewById(R.id.tv); switch (item.getItemId()) { case R.id.item1: this.total += 10; break; case R.id.item3: this.total += 30; break; case R.id.item2: this.total -= 20; break; default: // 交給別人來處理,有可能是 system menu return super.onOptionsItemSelected(item); } tv.setText(tv.getText() + "\n" + item.getTitle() + " -> " + this.total); // 回傳 true 表示已經處理完畢,不用再往外丟了 return true; } }
沒有留言:
張貼留言