2、随工程创建的MainActivity类会重写onCreate和onCreateOptionsMenu方法。
3、重写onOptionsItemSelected、onOptionsMenuClosed、onPrepareOptionsMenu方法,代码如下:
package com.example.testapp.activity; import com.example.testapp.R; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(this, "onCreate", Toast.LENGTH_SHORT).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, Menu.FIRST+1, 1, "菜单一"); menu.add(Menu.NONE, Menu.FIRST+2, 2, "菜单二"); menu.add(Menu.NONE, Menu.FIRST+3, 3, "菜单三"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST+1: Toast.makeText(this, "菜单一被点击了", Toast.LENGTH_SHORT).show(); break; case Menu.FIRST+2: Toast.makeText(this, "菜单二被点击了", Toast.LENGTH_SHORT).show(); break; case Menu.FIRST+3: Toast.makeText(this, "菜单三被点击了", Toast.LENGTH_SHORT).show(); break; default: break; } return false; } @Override public void onOptionsMenuClosed(Menu menu){ Toast.makeText(this, "菜单被关闭了", Toast.LENGTH_SHORT).show(); } @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this,"选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单",Toast.LENGTH_SHORT).show(); //例如:menu.removeItem(Menu.FIRST+2); // 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用 return true; } }
现在运行下项目,测试下菜单就可以看到效果了。