关于Activity的抽象方法的布尔返回类型

时间:2017-05-10 08:53:05

标签: java android

我想了解在android中实现一些抽象方法时布尔返回类型究竟是做什么的。例如:

Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        MyCurrentScreen.this.finish();
    }

    return true;
}

如果我将返回类型更改为false,则该功能也可以正常工作。根据我的理解,抽象方法的实现甚至不会返回其调用者(如果不是这样,请纠正我),但是,如果是这种情况,为什么这里需要返回类型?

1 个答案:

答案 0 :(得分:1)

抽象方法可能会返回给它的来电者。像任何其他方法一样。

然后(来自https://developer.android.com/reference/android/app/Activity.html#onOptionsItemSelected(android.view.MenuItem)

  

只要选择了选项菜单中的项目,就会调用此挂钩。   默认实现只返回false以使其正常   处理发生(调用项目的Runnable或发送消息到   适当的处理程序)。您可以将此方法用于任何项目   你想在没有其他设施的情况下进行处理。

返回true以使用该事件