无法设置OnActionExpandListener:这不受支持,请使用MenuItemCompat.setOnActionExpandListener()
问题描述:
这听起来像是重复的问题,但事实并非如此。无法设置OnActionExpandListener:这不受支持,请使用MenuItemCompat.setOnActionExpandListener()
我想设置一个OnActionExpandListener
我的搜索菜单项:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_country_picker, menu);
MenuItem menuItem = menu.findItem(R.id.search);
menuItem.setOnActionExpandListener(this);
//more code
return true;
}
当我运行的是,我得到这个异常:
java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:743)
at com.myapp.pages.country_picker.CountryPickerActivity.onCreateOptionsMenu(CountryPickerActivity.java:59)
at android.app.Activity.onCreatePanelMenu(Activity.java:3145)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:320)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:92)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:331)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:92)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
酷,让我们使用MenuItemCompat.setOnActionExpandListener()
呢!
这是我得到的时候我menuItem.setOnActionExpandListener(this);
与MenuItemCompat.setOnActionExpandListener(menuItem, this);
取代:
java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:743)
at android.support.v4.view.MenuItemCompat.setOnActionExpandListener(MenuItemCompat.java:363)
at com.myapp.pages.country_picker.CountryPickerActivity.onCreateOptionsMenu(CountryPickerActivity.java:57)
at android.app.Activity.onCreatePanelMenu(Activity.java:3145)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:320)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:92)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:331)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:92)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
TLDR:
尝试使用答:这是不支持的,使用B.
试图用B:这是不支持的,使用B.
我的一些build.gradle配置可能是相关的:
compileSdkVersion 23
buildToolsVersion '25.0.2'
defaultConfig {
minSdkVersion 21
targetSdkVersion 23
}
dependencies {
compile 'com.android.support:support-v4:23.4.0'
androidTestCompile 'com.android.support:support-annotations:26.0.0-alpha1'
...
}
PS:MenuItemCompat.setOnActionExpandListener()
已被弃用,该文档推荐使用MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener
,这就是我想摆在首位,但你可以看到,它没有工作。
任何想法?
答
com.android.support:support-annotations:26.0.0-alpha1已离开阿尔法版本。尝试更新到com.android.support:support-annotations:26.0.0
https://developer.android.com/topic/libraries/support-library/packages.html#annotations
你解决这个问题?我有同样的问题。 – Max
是解决了吗?有相同的问题 – Manny265