问题标签 [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 投票
1 回答
449 浏览

android - ActionMode 的位置相关动作与上下文菜单一样

在较旧的应用程序中,我通常会使用onCreateContextMenu()以下签名进行上下文操作:

menuInfo将为我提供正在构建上下文菜单的列表中的哪个项目的信息。然后我可以有权Uri找到适合它的操作并将它们创建为菜单项(使用自动意图或其他方式)。

现在,使用更新的 API,替换它的是上下文操作栏,使用ActionMode

但是在这里,我如何区分项目和/或获取此位置信息?

对于批处理模式,不存在这样的参数是有意义的,因为您应该只提供适用于任何事物的操作。但是对于单模式,除了按钮现在在操作栏中之外,这不完全等同于旧的 API 吗?

参考:http: //developer.android.com/guide/topics/ui/menus.html#context-menu

0 投票
1 回答
1393 浏览

android - Linkify、ListView 和 ActionMode。常规文本不再可点击

所以我有一个显示随机文本的列表视图。textview 有时可能是常规文本,但也可以是 URL 等。我在 BaseAdapter 的代码中添加了以下行:

其中 mHolder 是 ViewHolder 的一个实例,用于加快 listView 的速度,内容是该 viewHolder 内的 TextView,我只愿意突出显示 Web Urls。

第一个问题,

由于添加了该行代码,一些只有常规文本(如“asdfg”)的项目现在在单击时不再突出显示。澄清一下,当我的意思是“突出显示”时,我只是指单击 listView 项目时发生的常规突出显示,无论是否提供了处理 onClick 事件的代码。

我知道这里的问题是那行代码,因为删除它会使 listView 上的所有项目在单击时突出显示。我试图通过这个截图来描述这个

第二个问题,

我在 listView 中添加了一个MultiChoiceModeListener来处理 ActionMode;但是,鉴于 textViews 中的链接现在是可点击的并且将启动浏览器,它们在 ActionMode 下不再正常运行,因为它们不关心我们是否处于 ActionMode 并仍然启动浏览器而不是按照里面的代码onItemCheckedStateChanged方法。

例如,在 ActionMode 中,用户单击的每个项目都将添加到名为itemsChecked的 ArrayList 中,该列表稍后将通过onActionItemClicked使用。但是,当使用 linkify 时,这不再可行,因为当用户单击具有 Web Url 作为文本的 ListView 项目时,应用程序将被发送到后台,因为调用浏览器来处理链接。

我的问题是我可以做些什么来潜在地解决我的代码中的这些问题?

我希望链接突出显示和可点击,但不以这个成本为代价。我应该使用 Linkify 以外的其他东西来突出显示链接并使其可点击吗?还是“可点击性”总是会干扰 ListView 项的常规行为。

仅供参考,我为 ActionMode 和 ListView 运行的代码如下:(请记住,代码在不使用 Linkify 时可以正常工作

0 投票
1 回答
1338 浏览

android - 操作栏强制拆分选项卡和操作模式

如何强制ActionBar使用制表符(在top)和ActionMode(在bottom)拆分?
android:uiOptions="splitActionBarWhenNarrow"没有帮助(我正在尝试使用宽屏模拟器)

0 投票
1 回答
865 浏览

android - Using getItemId() always get 0 in onActionItemClicked

I'm using com.actionbarsherlock.view.ActionMode and when I try to get the clicked item id like this:

it's always:

Got click: 0

So what is the right code to get the clicked item id?

0 投票
1 回答
1239 浏览

android - 从 Listadapter 启动 ActionMode()

我有一个自定义 ListView-Adapter 的问题。因此,当检查一个复选框(每个ListItem都有一个)时,我正在尝试启动ActionBarsherlock的ActionMode。我直接在适配器中实现了一个 OnClickListener:

如何正确启动 ActionMode?

我希望你能帮助我。

0 投票
0 回答
623 浏览

android - activateBackgroundIndicator 不适用于 ListView 项目

我知道我们可以android:background="?android:attr/activatedBackgroundIndicator"用来确保“激活”时突出显示视图。我在几个项目中使用过它,效果很好;但是,使用与以前非常相似的代码,它似乎对我不起作用,因为通过ActionMode.

这是 ListView 项:

这是实际的 ListView 布局:

请注意,我确实尝试过使用和不使用android:drawSelectorOnTop="true",这没有任何区别。

ActionMode 获取了正在选择项目的事实,因为我有一个 Log 事件告诉我,我设置 ActionMode 的标题以显示所选项目的数量;但是,即使项目已“激活”,它们也不会保持“突出显示”。

这是 ActionMode 工作的快速图像,但未突出显示项目。

0 投票
1 回答
533 浏览

android - 无需长按即可在 ListView 中启用批量上下文操作

我有一个带有 MultiChoiceModeListener 的 ListView 来删除项目。目前,当长按某个项目时,将启动动作模式。这工作正常,但此外,我希望允许用户在单击“编辑”按钮时启用操作模式。

有没有办法在不长按的情况下启用此模式?

0 投票
1 回答
1056 浏览

android - 检测 ActionMode 嵌套

我在我的应用程序中使用了一些自定义 ActionMode。当一个动作模式关闭时,我会做一些家务,比如关闭相关视图、更新更改等。我在 OnDestroyActionMode 中检测到该动作模式已关闭。

我的问题是,当在我的一些动作模式中时,用户可能会触发另一个系统动作模式(文本复制/粘贴/选择)。在这种情况下,onDestroyActionMode 被调用,我错误地认为用户完成了第一个动作模式,而不是实现“堆栈”功能,所以我可以忽略这个 onDestroyActionMode,让用户编辑/剪切/等文本,然后重新打开完成后的前动作模式。

我怎样才能做到这一点?

0 投票
2 回答
2421 浏览

android - 如何设置 ActionMode LayoutParams 以使自定义视图 match_parent?

我正在尝试将自定义视图设置为 ActionMode,但它与作为父级的 ActionMode 不匹配。与标准的 ActionBar 相比,在设置自定义视图时可以指定布局参数,而在 ActionMode 中不提供。

有什么解决办法吗?

非常感谢!

0 投票
9 回答
35042 浏览

android - 如何在 Android 中更改 ActionMode 背景颜色

我正在创建一个支持级别 api 为 7 的 android 应用程序,所以我使用的是 sherlock 操作栏。我在其中使用动作模式。问题是我想改变动作模式的背景。所以我试过了

这些风格的解决方案是可用的,但它们都不起作用。 在此处输入图像描述