7.2.4. 更新StatusActivity,捕获菜单事件

优质
小牛编辑
122浏览
2023-12-01

7.2.4.更新StatusActivity,捕获菜单事件

我们还需要捕获菜单条目的点击事件。为此添加另一个回调方法,onOptionsItemSelected()。它在用户单击一个菜单条目时触发。

// Called when an options item is clicked

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) { //

case R.id.itemPrefs:

startActivity(new Intent(this, PrefsActivity.class)); //

break;

}

return true; //

}

  1. 此方法在任意菜单条目被点击时都会触发,因此我们需要根据不同的条目ID做不同的处理。暂时这里只有一个菜单条目。不过随着程序复杂度的增长,需要添加新条目的时候,只要在switch语句中引入新的条目ID即可,也是非常容易扩展的。
  2. startActivity()方法允许我们打开一个新的Activity。在这里,我们创建一条新的Intent,表示打开PrefsActivity。
  3. 返回true,表示事件处理成功。

Tip:

同原先一样,可以使用Eclipse的快捷功能Source→Override/Implement Methods生成onCreateOptionsMenu()、onOptionsItemSelected()方法的声明。