- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 ListView ,其中行基本上由两个 TextView(标题 和内容)组成。
第二个 TextView 可以有很长的文本,所以我设置了 maxLines="6"
。当用户点击行时,我去掉了maxLines
以显示全文。
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
TextView content = (TextView ) view.findViewById(R.id.content);
int limit = getResources().getInteger(R.integer.default_max_lines);
if (content.getMaxLines() > limit) {
content.setMaxLines(limit);
}
else {
content.setMaxLines(Integer.MAX_VALUE);
}
}
上面的代码效果很好。我也希望能够选择我的第二个 TextView (content),所以我设置了 android:textIsSelectable="true"
(也尝试以编程方式设置)。
但我无法展开/折叠我的 TextView,因为不再调用 onItemClick
那是因为 textIsSelectable
捕获了所有的点击事件...来自 Android 文档:
When you call this method to set the value of textIsSelectable, it sets the flags focusable, focusableInTouchMode, clickable, and longClickable to the same value. These flags correspond to the attributes android:focusable, android:focusableInTouchMode, android:clickable, and android:longClickable. To restore any of these flags to a state you had set previously, call one or more of the following methods: setFocusable(), setFocusableInTouchMode(), setClickable() or setLongClickable().
我试图在 setTextIsSelectable(true)
之后将这些标志设置为 false,但我没能成功。
那么,有什么想法可以同时使用 textIsSelectable
和 onItemClick
吗?
PS:仅支持 Android > 4.0。
最佳答案
我无意中遇到了同样的问题,但对这个已有 8 年历史的问题没有给出任何答案。我的解决方案如下:
override fun getView(position: Int, view: View?, parent: ViewGroup): View {
...
val listener = View.OnClickListener {
...
}
viewHolder.textView.setOnClickListener(listener)
}
这允许点击 TextView 以及选择其文本内容。
关于android - ListView:textIsSelectable 和 onItemClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632234/
使用后 Linkify.addLinks(content, pattern_glos, scheme_glos, null, glosFilter); 日志写入 11-22 21:19:15.319:
我有一个带有 android:textIsSelectable 的普通 TextView属性为真。这工作得很好,即使我在 ListView 中有 TextView。但现在我决定使用新的 Toolbar
如果 android:textIsSelectable 不存在,则 TextView 的 maxLines 为 5,并且您无法让 TextView 滚动,即使有其他文本已超出 View 。 但是,添
我的布局中有一个 TextView: textAllCaps 工作正常,没问题。但是当我尝试通过添加 textIsSelectable 使文本可选时 textAllCaps 不工作。看起来这两个属
我正在将 TextView 添加到具有属性 android:textisselectable 的 float 窗口。 mWindowManager.addView(textView, params);
上下文 我有一个 ListView ,其中行基本上由两个 TextView(标题 和内容)组成。 第二个 TextView 可以有很长的文本,所以我设置了 maxLines="6"。当用户点击行时,我
我遇到了一个问题,即 fragment 中的 ScrollView 自动滚动到底部。因此,为了解决此问题,我按照 this 中的建议在 RelativeLayout 中添加了以下行回答: androi
我知道在 TextView 的 xml 中设置 android:textIsSelectable="true" 将显示 native 文本选择弹出窗口,我一直在我的应用程序中使用它.但是当我尝试在附加
在我当前的 Android 应用程序中,我有一个 MaterialCardView,它包装了一个我希望可复制的 TextView,例如我用 android:textIsSelectable="true
我在使 textview 可编辑时遇到问题 - 虽然我可以使其可编辑,但我无法通过 intent 将文本传递给另一个 Activity 。 在我的 View Activity 的 xml 中,对于我的
如何在MuPdf中获取复制粘贴选区。 我想得到像下面这样的图像。 最佳答案 让我从我的标准演讲开始... MuPDF 本质上是一个可移植的 C 库,用于打开/操作/呈现 PDF(和其他)文件格式。它提
我的应用程序中的屏幕可能会将非常长的字符串发布到 TextView 中。对于这种情况,我设置了 android:ellipsize="marquee",这样文本将在 TextView 中滚动显示。 但
将 android:textIsSelectable="true" 添加到 TextView 后,TextView 将自动滚动到底部。但是我不想要这种行为。
为了在不显示软键盘的情况下选择 edittext,我设置了 edittext.textIsSelectable(true) 属性并隐藏了软键盘。 当我再次尝试打开软键盘时,它没有打开。 我尝试在 ed
这是我在 customcell 中的 TextView 。当我点击 textview 时,它不允许我选择 textview 中的文本。它在我的 xperia 4.2.2 中运行完美,但是当我在具有
我正在使用 android:textIsSelectable="true"以便我的文本有资格复制文本,在同一个 TextView 上我正在使用 onclicklistner,但是那个 clicklis
我遇到了这个奇怪的问题,让我很头疼很麻烦。 我发布了一个应用程序,它是几本书的存储库,我决定使用 TextView 来显示每一章的文本,因为它符合要求并且快速且易于使用。 用户要求他可以选择一个文本并
当我的应用程序启动时,我在 EditText 中加载了一些用户无法编辑的文本,直到单击“菜单”并选择“编辑文本”。初始 xml 如下所示: 用户选择“编辑文本”后,如何使其再次可编辑?我尝试在代码中
我在 textview 上有一个 onClickListener 并且 textview 有一个标志,它是 selectable。但是我指定的onclick事件只有在第二次点击textview时才会被
我在主 fragment 上有一个 TextView (sub_text),还有另一个 RecyclerView (rv) 包含 TextView 项目。 当我尝试在 RecyclerView 中选择
我是一名优秀的程序员,十分优秀!