问题标签 [android-actionmode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
432 浏览

android - Android:通知主要活动有关自定义 ListView 的 CheckBox

我有一个自定义BaseAdapter显示ListView包含 aTextView和 a CheckBoxTextView实现了在OnClickListener单击文本时执行特定操作。在适配器中,我有一个OnCheckedChangeListener注册,它跟踪检查了哪个项目(因为ListView回收)。

我想ActionMode在我选中 a 时启动CheckBox它,并在我取消选中它时停止它。

如何通知托管适配器的主要活动已进行检查?

0 投票
0 回答
184 浏览

android - Android ActionMode 传递所选项目的 _id

我正在尝试从我的数据库中删除一条记录。我有这个联系人列表视图,它列出了数据库中的记录。在 itemLongClick 上会在操作栏中打开一个菜单,我可以在其中选择编辑或删除。选择删除后,我会打开一个对话框,询问他们是否确定要删除记录。如果是,那么我需要将所选项目的 _id 传递给 DatabaseHandler,其中一个方法将删除 RowID 等于传递的 _id 的记录。

以上是目前的全班。OnItemLongClick 位于 populateContactList() 中。我从适配器那里得到了“long id”。那里的日志消息显示该项目的正确 RowID。所以现在我们知道 id 是正确的项目,我需要将该 id 一直传递到 DialogBox Positive 按钮,该按钮在数据库处理程序中执行删除记录。

0 投票
2 回答
3433 浏览

android - 片段中的上下文动作模式不显示

我想做一个这样的应用

在 AbsListView 中批处理上下文操作

我已按照Google 的指南在AbsListView. 就我而言,我AbsListView在 a 中实现了,Fragment因为我希望用户能够更改布局,我有几个布局用于Activity(a ListView、aGridView和另一个AbsListView子类)。我还在AbsListView.MultiChoiceModeListener一个单独的类中实现了它,因为我想在几个片段和活动中重用它。

我的问题是:当我长按列表项时,上下文操作栏不显示。然而,它响应了一次点击(表明选择器正在工作)。

我一遍又一遍地检查并尝试错误我的代码,以确保我正确地遵循了指南上的所有内容,浏览了许多关于这个主题的故障排除,但我仍然无法弄清楚为什么上下文操作栏没有别上来

这是片段之一:

这是 MultiChoiceModeListener ( MultiChoiceCallback.java):

Fragment ( layout/fragment_list.xml) 的布局:

膨胀的视图列表项 ( layout/view_item_book_1text.xml):

每个列表项 ( color/blue_when_clicked.xml) 的颜色选择器:

任何帮助将不胜感激!

0 投票
3 回答
10592 浏览

android - 对于 FragmentActivity 类型,方法 startSupportActionMode(ActionMode.Callback) 未定义?

我想在 Fragment Android 中实现 Action Mode Compact。但我收到错误我的代码中的 FragmentActivity 类型未定义方法 startSupportActionMode(ActionMode.Callback) :

getActivity().startSupportActionMode(modeCallBack);在如何修复它时出错?

0 投票
1 回答
445 浏览

android - ListView 的操作模式未启动

当我对 ListView 项目执行长按时,操作模式不会启动。ListView 的实现通过一个项目是相同的:

NutritionMultiChoiceModeListener 是自定义的 MultiChoiceModeListener,包含抽象方法 deleteSelectedItems(),调用删除。

这是 ListView 项目的布局:

当我执行长按时,我要么按下按钮,要么开始编辑文本。

项目中只有一个这样的地方。对于仅包含 TextView 的其他项目布局,一切正常。

请帮忙。

0 投票
3 回答
2018 浏览

android - 如何以编程方式关闭文本选择上下文操作栏?

编辑:

初始问题:

我有一个扩展 DialogFragment 的片段。在这个片段中,我创建了一个 AlertDialog 并设置了一个适配器。适配器使用自定义布局使 TextViews 可选择。

现在一切都很好,但在选择了一些文本并关闭对话框后,稍后选择了文本,但不再显示操作栏。它只能通过重新创建启动片段的活动来修复。

tl;dr:使用静态对话框。文本选择 和 后dismiss(),可以选择文本,但找不到 CAB。也许以编程方式关闭 CAB 可以解决这个问题。我该怎么做?

一般问题:

我想了解如何手动关闭默认的android 文本选择 CAB(或获取对它的引用)。

0 投票
1 回答
1650 浏览

listview - android 无法点击 ListView 动作模式项

我有一个带有三个片段的可滑动标签的活动。第一个片段是 ListView。长按列表项时需要显示动作模式。以下代码工作正常。但是,当我单击操作项时,永远不会调用 onActionItemClicked,而是单击操作视图(选项卡)后面的视图。

这是动作模式的截图,您可以看到菜单项与背景视图(选项卡)混合在一起,文本“FOLDERS”实际上是在 acionview 后面。在此处输入图像描述

这是我在其他设备上得到的在此处输入图像描述 这是我的 ActionMode.Callback

和项目 longClick 侦听器

此问题仅在带有 android L 纵向模式的 nexus 5 上出现。它适用于其他设备和nexus 5的横向模式。我不知道该怎么做。任何人请帮助我...

0 投票
4 回答
5274 浏览

android - 在 Android 中以编程方式触发操作栏菜单项

我在栏上有带有菜单项的操作栏。当我单击刷新图标时,我有显示进度条的方法。

我想做这个活动的加载。因此,我尝试以编程方式调用刷新图标项单击:

我在创建菜单后调用上述内容。

但这会在加载我的数据时出现空指针异常。如果我单击刷新按钮,它工作正常,但如果我以编程方式调用它,我会收到错误。

这是我所拥有的:

是否可以以编程方式调用菜单项?如果是这样怎么办?

谢谢!

0 投票
1 回答
6709 浏览

android - 带有工具栏偏移内容的 ActionMode

哦哦。当我将我的应用程序升级到 L 时,我用工具栏替换了 ActionBars,现在每当我启动 ActionMode 时,它​​都会下推所有内容。(我想这是因为再次显示 ActionBar 是为了显示 ActionMode。)是否可以将 ActionMode 显示为叠加层,或者让它驻留在工具栏中?

似乎也没有任何样式选项适用于它,这让我想知道是否有一种新的样式来设置它。有任何想法吗?

我正在使用 AppCompat V7 21,到目前为止我已经尝试windowActionModeOverlay=truetoolbar.startActionMode(..)

运行 ActionMode 的列表

0 投票
10 回答
30272 浏览

android - 在工具栏上显示 ActionMode

除了传统的,我正在尝试使用android.view.ActionMode新的。我可以通过以下方式显示它:android.support.v7.widget.Toolbarandroid.app.ActionBar

问题是ActionMode显示在 上ActionBar,而不是在 上Toolbar。有没有办法改变它?

我试图在我的主题中设置以下内容,但它似乎没有改变任何东西: