这似乎是从Android API级别15本机支持的.在早期版本中,解决方法是重定向菜单调用.使用您的xml示例,更改它以使子子菜单是常规隐藏菜单项,并添加重定向占位符项:

继续浏览在onCreateOptionsMenu(菜单菜单)中创建的膨胀菜单mOptionsMenu,然后从您的重定向打开子菜单,如下所示:

@Override

public boolean onMenuItemSelected( int id, MenuItem item)

{

switch ( item.getItemId() )

{

case R.id.india_redirect:

mSomeView.post( new Runnable()

{

public void run()

{

mOptionsMenu.performIdentifierAction( R.id.india, 0 );

}

} );

return true;

}

return super.onMenuItemSelected( id, item );

}

请注意,对performIdentifierAction的调用将从View发布到UI消息队列.在旧版本的Android上,它可以立即调用,但在较新版本上,它需要是一个单独的消息才能工作.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐