7.2.4. 更新StatusActivity,捕获菜单事件
优质
小牛编辑
127浏览
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; //
}
- 此方法在任意菜单条目被点击时都会触发,因此我们需要根据不同的条目ID做不同的处理。暂时这里只有一个菜单条目。不过随着程序复杂度的增长,需要添加新条目的时候,只要在switch语句中引入新的条目ID即可,也是非常容易扩展的。
- startActivity()方法允许我们打开一个新的Activity。在这里,我们创建一条新的Intent,表示打开PrefsActivity。
- 返回true,表示事件处理成功。
Tip:
同原先一样,可以使用Eclipse的快捷功能Source→Override/Implement Methods生成onCreateOptionsMenu()、onOptionsItemSelected()方法的声明。