Android - 可以在菜单方法之外获取菜单视图吗?
Android - It is possible get Menu View outside Menu methods?
是否可以在菜单方法之外以编程方式获取对菜单视图的引用?
我知道我有这个,onCreateOptionsMenu(Menu menu)
和这个 onOptionsItemSelected(MenuItem item)
,但我想摆脱这个。
有可能的?
不,我已经试过很多次了,如果你试图从外面获取一个引用并尝试使用它,你会得到空指针异常。即使那样也是不可取的。最好的方法是使用 onOptionsCreatedMenu()
方法和 onOptionsItemSelected()
方法中的菜单项。
希望这对您有所帮助。
首先将其添加到 activity
的顶部
Menu menu;
这在您的创建选项菜单中
this.menu=menu
现在您可以使用菜单访问任何项目
喜欢
menu.getItem(int)
是的,定义一个菜单实例:Menu m;
(在您的 class 内部和其他方法之外)在方法内部更改此变量值并在您想要的任何地方使用它。
PS。您必须确保已执行这两个方法以获取视图的值。
希望这会有所帮助。
是否可以在菜单方法之外以编程方式获取对菜单视图的引用?
我知道我有这个,onCreateOptionsMenu(Menu menu)
和这个 onOptionsItemSelected(MenuItem item)
,但我想摆脱这个。
有可能的?
不,我已经试过很多次了,如果你试图从外面获取一个引用并尝试使用它,你会得到空指针异常。即使那样也是不可取的。最好的方法是使用 onOptionsCreatedMenu()
方法和 onOptionsItemSelected()
方法中的菜单项。
希望这对您有所帮助。
首先将其添加到 activity
的顶部Menu menu;
这在您的创建选项菜单中
this.menu=menu
现在您可以使用菜单访问任何项目 喜欢
menu.getItem(int)
是的,定义一个菜单实例:Menu m;
(在您的 class 内部和其他方法之外)在方法内部更改此变量值并在您想要的任何地方使用它。
PS。您必须确保已执行这两个方法以获取视图的值。
希望这会有所帮助。