gpt4 book ai didi

android - 无法设置 OnActionExpandListener : This is not supported, 使用 MenuItemCompat.setOnActionExpandListener()

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:24 28 4
gpt4 key购买 nike

这听起来像是一个重复的问题,但事实并非如此。

我正在尝试设置 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)

简单描述:

尝试使用A:不支持,使用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'
...
}

附言:MenuItemCompat.setOnActionExpandListener()已弃用,文档建议使用 MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener ,这是我最初尝试的方法,但如您所见,它没有用。

有什么想法吗?

最佳答案

com.android.support:support-annotations:26.0.0-alpha1 已离开 alpha 版本。尝试更新到 com.android.support:support-annotations:26.0.0

https://developer.android.com/topic/libraries/support-library/packages.html#annotations

关于android - 无法设置 OnActionExpandListener : This is not supported, 使用 MenuItemCompat.setOnActionExpandListener(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45335853/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com