【问题标题】:Multiple ids in the same TextView同一个TextView中的多个id
【发布时间】:2021-01-27 19:53:02
【问题描述】:

是否可以在同一个TextView中以某种方式设置多个id值?

我有一个包含多个可点击链接的长字符串,我想为这些链接分配 ID,以便我可以在代码中获取它们,这可以实现吗?

我尝试将单独的 TextView 元素放在水平 LinearLayout 中,但如果太长,则无法将其换行。

是否有一些自定义元素/方式来实现此行为?

【问题讨论】:

  • 我认为你需要 RecycleView 的东西
  • @FrancescoBocci 嗯,我看不出这与 LinearLayout 实现有何不同,因为我不需要滚动
  • 为什么不直接将文本从代码本身设置为 TextView 呢?你可以使用SpannableString
  • 看看这个问题,看起来就是你要找的。 stackoverflow.com/q/28720117/14327871
  • @NongthonbamTonthoi 我可以这样做,但是如何将 id 设置为字符串的特定部分?这就是这里的问题,我不知道是否可以实现这样的目标

标签: android kotlin layout hyperlink textview


【解决方案1】:

使用RecyclerView 创建带有链接的TextView 列表。为了正确对齐,您可以使用flexbox-layout

build.gradle(:app)中添加依赖

dependencies {
    implementation 'com.google.android:flexbox:2.0.1'
}

并使用FlexboxLayoutManagerRecyclerView,如下所示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    相关资源
    最近更新 更多