Java 关于\u选项\u项目\u所选方法说明

Java 关于\u选项\u项目\u所选方法说明,java,android,xml,android-layout,drawerlayout,Java,Android,Xml,Android Layout,Drawerlayout,我正在按照YouTube上的教程创建一个导航抽屉/菜单。虽然一切正常,我得到了我们正在使用的方法等的大部分内部工作,但OnOptions ItemSelected方法让我有点困惑。考虑我的代码的以下部分: @Override public boolean onOptionsItemSelected(MenuItem item) { if(mToggle.onOptionsItemSelected(item)) { return true; } re

我正在按照YouTube上的教程创建一个导航抽屉/菜单。虽然一切正常,我得到了我们正在使用的方法等的大部分内部工作,但OnOptions ItemSelected方法让我有点困惑。考虑我的代码的以下部分:

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
    if(mToggle.onOptionsItemSelected(item)) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
其中MTOGLE是一个新的ActionBarDrawerToggle。 从youtuber的解释中,我了解到我们可以使用它使抽屉按钮(3条平行线)切换抽屉的状态(打开/关闭)。但这是正确的吗?我的意思是,我们正在传递一个菜单项作为参数,用于知道单击了哪个项目。但是这个切换按钮是否被视为菜单项(因为它不在侧菜单中?)


提前谢谢你!:D

据我所知,这取决于您实施导航抽屉的方式。您也可以将切换功能放置在任何视图的onClick中。如果您已为其正确设置了所有内容,则单击切换按钮将触发
onOptionsItemSelected()
,这就是为什么
ActionBarDrawerToggle
有自己的名称方法的原因。该切换只需检查
菜单项
的ID是否为
android.R.ID.home
,并根据需要打开/关闭抽屉。虽然它并不是选项菜单的一部分,但这正是他们设计home按钮功能的方式,而且
ActionBarDrawerToggle
有点像是背驮在上面的。