【问题标题】:Android custom listview with clickable links带有可点击链接的 Android 自定义列表视图
【发布时间】:2011-08-15 14:25:24
【问题描述】:

在我的 Android 应用程序中,我使用自定义列表视图来显示公司分支机构信息。每个公司分支机构的详细信息都作为元素添加到列表视图中。

问题在于列表视图中的每个元素内都有可点击的文本视图。我需要跟踪用户在哪个元素中按下了哪个可点击的文本视图。

例如:

===============
click1
click2
click3
===============
click1
click2
click3
===============
click1
click2
click3
===============

如果有人可以指导我,那就太好了..提前谢谢

【问题讨论】:

    标签: android listview


    【解决方案1】:

    您是否查看过 this 链接,该链接谈到在 TextViews 中添加可点击 URL?

    您也可以将 TextView 的可点击属性设置为 true:

    <TextView
            android:id="@+id/textview"
            android:text="Text"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent" 
            android:clickable="true"/>
    

    然后在代码中,添加一个 onClickListener:

    textView.setOnClickListener(new OnClickListener() {
    
         public void onClick(View view) { 
                Toast.makeText(view.getId() + " was clicked!", Toast.LENGTH_SHORT).show();
            } 
    
    });
    

    因此,如果您需要跟踪点击了哪一个,您将使用 onClickListener 中的 view.getId()。

    编辑:还可以查看 View.setTag() - 这可以让您将任何对象附加到 View 元素。因此,如果每个 listview 项目有 3 个按钮,则在构建 ListView 时,您可以附加一个 int[]。 int[0] 位置可以是整个元素编号,而 int1 位置可以是 listviews 元素中的子元素编号。

    【讨论】:

    • 如果我单击 click1 链接并考虑 view.getId() 它指的是列表视图中的所有 click1 文本视图(因为我正在创建自定义列表视图)
    • 好的,那么您到底要跟踪什么?这是一些特殊的列表视图吗?它是带分组的可扩展列表视图吗?
    • 这是一个自定义列表视图。我需要跟踪用户准确点击的链接(例如,在这个例子中有三个 click2 链接,在这三个中我点击了哪一个??)...它可以是第一个、第二个或第三个元素中的 click2 链接在列表视图中
    • 您能否解释一下在这个特定示例中如何实际使用 setTag() 方法。有点混乱……!!!
    • 你有扩展 BaseAdapter 的自定义适配器吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多