- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个使用 ActionMode
的应用。
项目依赖:
dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:support-v13:21.0+'
}
API 级别:
minSdkVersion 14
targetSdkVersion 21
我的 fragment 使用ActionMode
:
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.packing_list_context, menu);
return true;
}
...
菜单:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/context_menu_item_edit"
android:icon="@drawable/ic_edit_black_24dp"
app:showAsAction="always"
android:title="@string/context_menu_item_edit" />
<item
android:id="@+id/context_menu_item_delete"
android:icon="@drawable/ic_delete_black_24dp"
app:showAsAction="always"
android:title="@string/context_menu_item_delete" />
<item
android:id="@+id/context_menu_item_tags"
android:icon="@drawable/ic_label_black_24dp"
app:showAsAction="always"
android:title="@string/context_menu_item_tags" />
</menu>
当我在 Android 4.4 上运行这个应用程序时,一切都很好。但是当我在 Android 4.0.3 上运行它时,我在支持库的某处收到以下异常:
堆栈跟踪:
W/System.err( 7292): java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.getActionProvider()
W/System.err( 7292): at android.support.v7.internal.view.menu.MenuItemImpl.getActionProvider(MenuItemImpl.java:634)
W/System.err( 7292): at android.support.v7.internal.view.menu.MenuItemWrapperICS.getSupportActionProvider(MenuItemWrapperICS.java:322)
W/System.err( 7292): at android.support.v7.internal.view.menu.MenuItemWrapperICS.checkActionProviderOverrideVisibility(MenuItemWrapperICS.java:348)
W/System.err( 7292): at android.support.v7.internal.view.menu.MenuItemWrapperICS.setVisible(MenuItemWrapperICS.java:183)
W/System.err( 7292): at android.support.v7.internal.view.SupportMenuInflater$MenuState.setItem(SupportMenuInflater.java:425)
W/System.err( 7292): at android.support.v7.internal.view.SupportMenuInflater$MenuState.addItem(SupportMenuInflater.java:479)
W/System.err( 7292): at android.support.v7.internal.view.SupportMenuInflater.parseMenu(SupportMenuInflater.java:196)
W/System.err( 7292): at android.support.v7.internal.view.SupportMenuInflater.inflate(SupportMenuInflater.java:118)
W/System.err( 7292): at net.cornplay.tourist.fragments.PackingListFragment.onCreateActionMode(PackingListFragment.java:392)
W/System.err( 7292): at android.widget.AbsListView$MultiChoiceModeWrapper.onCreateActionMode(AbsListView.java:5635)
W/System.err( 7292): at android.support.v7.internal.view.SupportActionModeWrapper$CallbackWrapper.onCreateActionMode(SupportActionModeWrapper.java:151)
W/System.err( 7292): at android.support.v7.app.ActionBarActivityDelegateBase$ActionModeCallbackWrapper.onCreateActionMode(ActionBarActivityDelegateBase.java:1367)
W/System.err( 7292): at android.support.v7.internal.app.WindowDecorActionBar$ActionModeImpl.dispatchOnCreate(WindowDecorActionBar.java:1012)
W/System.err( 7292): at android.support.v7.internal.app.WindowDecorActionBar.startActionMode(WindowDecorActionBar.java:510)
W/System.err( 7292): at android.support.v7.app.ActionBarActivityDelegateBase.startSupportActionMode(ActionBarActivityDelegateBase.java:576)
W/System.err( 7292): at android.support.v7.app.ActionBarActivityDelegateHC.startActionModeForChild(ActionBarActivityDelegateHC.java:62)
W/System.err( 7292): at android.support.v7.internal.widget.NativeActionModeAwareLayout.startActionModeForChild(NativeActionModeAwareLayout.java:44)
W/System.err( 7292): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571)
W/System.err( 7292): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571)
W/System.err( 7292): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571)
W/System.err( 7292): at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:571)
W/System.err( 7292): at android.view.View.startActionMode(View.java:3607)
W/System.err( 7292): at android.widget.AbsListView.setItemChecked(AbsListView.java:952)
W/System.err( 7292): at net.cornplay.tourist.fragments.PackingListFragment.onItemLongClick(PackingListFragment.java:350)
W/System.err( 7292): at net.cornplay.tourist.adapters.PackingListAdapter$2.onLongClick(PackingListAdapter.java:87)
W/System.err( 7292): at android.view.View.performLongClick(View.java:3547)
W/System.err( 7292): at android.view.View$CheckForLongPress.run(View.java:14088)
W/System.err( 7292): at android.os.Handler.handleCallback(Handler.java:605)
W/System.err( 7292): at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err( 7292): at android.os.Looper.loop(Looper.java:137)
W/System.err( 7292): at android.app.ActivityThread.main(ActivityThread.java:4424)
W/System.err( 7292): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7292): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7292): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
W/System.err( 7292): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
W/System.err( 7292): at dalvik.system.NativeStart.main(Native Method)
Google 提示这些问题:https://code.google.com/p/android/issues/detail?id=77724 , https://code.google.com/p/android/issues/detail?id=78212 .但是它们怎么会和我的代码相关呢?我不使用 ShareActionProvider
。
有什么想法吗?
最佳答案
实际上,这是 AppCompat 库中的一个错误。它已在 v21.0.2 中修复。刚刚升级,应用程序不再崩溃。
关于android - ICS 上的支持库 v21 不支持 ActionMode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26594546/
如何防止我的仅 ICS 小部件出现在旧手机上,同时仍然保持我的应用程序向后兼容。目前,我的任务管理器在 froyo 及更高版本上运行,但我有一个 ICS 和更高版本的小部件,我只想向兼容用户显示。 最
我遇到一个问题,加载动画(5 个连续点从左向右移动)在 ICS 后设备中不起作用,但在 ICS 前设备中完美运行。我尝试在两者中复制调用动画的相同方法,但它似乎不起作用。 提前致谢, 阿曼尼·斯旺
我刚刚查看了 Ice Cream Sandwich 源代码,因为我正在尝试将 Holo 主题移植到所有 4.0 之前的设备。 我使用了很多有用的工具: 操作栏:ActionBarSherlock IC
我正在从 C# WPF 应用程序创建 ICS 文件并使用以下代码生成 ICS 文件。 StreamWriter writer; writer = new StreamWriter(filePath);
有没有办法在应用程序中的非 ICS android 手机上获得 android ICS 控件?例如,我已经看到 echofone 或其他一些使用 ICS 控件的应用程序,这些应用程序在低于 ICS (
我的应用创建了一个 ICS 文件,并将其作为 mimeType:@"text/calendar" 类型的电子邮件附件发送。 在 iOS6 中一切都运行完美。如果设备有 iOS7,电子邮件的附件 .IC
在我的应用程序中,我使用一些对话框来显示信息。我的应用程序的主题是 Theme.Light 从 2 年开始,这些对话框从一开始就一直是黑色的。 现在有了 ICS,Google 似乎只是改变了主意,将这
我们正在从 Java 代码生成一个 ICS 文件,并最初以 UTC 格式输入时间。 我们发现,在创建定期约会时,如果第一个日期和最后一个日期之间的 DST 发生变化,一些 session 会在正确时间
嗨,我刚刚发现了 ics 文件格式,我想知道是否可以在事件条目中包含一个或两个警报点,这些警报点将自动被拾取? 代码: BEGIN:VEVENT DTSTART;TZID=Europe/Amsterd
我正在使用 ASP.NET 创建一个 ics 文件,用于将假日导入 Outlook 2007 并尝试设置全天事件标志。这在多日假期中效果很好,但对于单日假期,它似乎没有注册,我只是得到了从午夜到午夜预
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Strange NetworkOnMainThreadException in Android app? Tryin
我制作了一个 ICS 提要,其中包含一长串事件。我的时区似乎不起作用。 在下面的示例中,您会看到我的事件应于 07:55:00 开始并于 09:30:00 结束。这就是我的日历中应该显示的内容。相反,
我们为我们的外联网开发了一个日历。每周我们都会为学校的所有师生更新下周的类(class)安排。这也会触发向选择该选项的用户发送每封电子邮件的 ICS 文件。 现在,几乎总是会发生最后一刻的更改,因此需
我正在为公司使用 JavaScript 开发 EPUB 阅读器,该应用程序在 Android 2.2 上运行良好,但当我在 ICS 和 HoneyCom 上尝试时,JavaScript 无法正常运行。
我有一项 Activity ,其中的 ListView 来自网络。在加载数据时,我想显示一个进度对话框而不是 ListView 。 我的布局: 我这样做是为了让进度条自行显示(
我熟悉android 2.2,一直在做手机开发,那么ICS平板开发该从何入手呢?我从 quick-google 学到的主要内容是,现在我必须将 fragment 用于多 Pane 布局,而不仅仅是 A
我试着读出所有现有的日历。我试过这里的例子: http://developer.android.com/guide/topics/providers/calendar-provider.html 但我
我正在尝试在模拟器上测试 ICS 的加密功能。 为了启用“加密电话”,我们运行“telnet localhost 5554”,然后运行“power capacity 100”。 在此之后,当我单击“加
我已设置 android:targetSdkVersion=15 并将 SDK 构建为 15,同时假设该应用程序将使用来自 ICS 的新的好日期选择器,而在 2.x 设备上它将使用旧的讨厌的日期选择器
我在我的 Skyrocket 设备和模拟器上的 Android ICS 浏览器中发现了一个奇怪的错误。基本上,我拥有的固定 header 几乎失去了所有样式(恢复为文本,尽管它看起来仍然是固定的)。当
我是一名优秀的程序员,十分优秀!