同一个TextView中的多个id
Posted
技术标签:
【中文标题】同一个TextView中的多个id【英文标题】:Multiple ids in the same TextView 【发布时间】:2021-01-27 19:53:02 【问题描述】:是否可以在同一个TextView中以某种方式设置多个id值?
我有一个包含多个可点击链接的长字符串,我想为这些链接分配 ID,以便我可以在代码中获取它们,这可以实现吗?
我尝试将单独的 TextView 元素放在水平 LinearLayout 中,但如果太长,则无法将其换行。
是否有一些自定义元素/方式来实现此行为?
【问题讨论】:
我认为你需要 RecycleView 的东西 @FrancescoBocci 嗯,我看不出这与 LinearLayout 实现有何不同,因为我不需要滚动 为什么不直接将文本从代码本身设置为 TextView 呢?你可以使用SpannableString
。
看看这个问题,看起来就是你要找的。 ***.com/q/28720117/14327871
@NongthonbamTonthoi 我可以这样做,但是如何将 id 设置为字符串的特定部分?这就是这里的问题,我不知道是否可以实现这样的目标
【参考方案1】:
使用RecyclerView
创建带有链接的TextView
列表。为了正确对齐,您可以使用flexbox-layout
在build.gradle(:app)
中添加依赖
dependencies
implementation 'com.google.android:flexbox:2.0.1'
并使用FlexboxLayoutManager
和RecyclerView
,如下所示:
val flexLayoutManager = FlexboxLayoutManager(activity)
flexLayoutManager.flexDirection = FlexDirection.ROW;
flexLayoutManager.justifyContent = JustifyContent.FLEX_START;
recyclerViewTextLinks!!.layoutManager = flexLayoutManager
val flexAdapter = FlexDemoAdapter(listOfTextLinks, onTextLinkClicked) //onTextLinkClicked for handling link clicks
recyclerViewTextLinks!!.adapter = flexAdapter
【讨论】:
以上是关于同一个TextView中的多个id的主要内容,如果未能解决你的问题,请参考以下文章
android 中多个TextView放在一个LinearLayout中,请问如何将TextView中的文字自动换行?或者修改布局实现