【问题标题】:Update ListView item on click/select单击/选择时更新 ListView 项目
【发布时间】:2013-03-21 16:22:50
【问题描述】:

我是 android 新手,我遇到了 ListView 的问题。我的 ListView 从 REST 服务加载数据,然后使用此数据填充 ListView。我想在每个项目上添加诸如 OnItemClickListener/OnSelectedItemListener 之类的东西,并且当用户单击项目时想要添加按钮。当用户单击另一个项目时,按钮应该消失。有什么想法吗?

[编辑] 我尝试了什么?

  1. 我创建了包含 ListView 和 Button 的 LinearView
  2. 在Activity中使用REST服务数据填充ListView(TextView用于查看)
  3. 我认为我的OnClickListener 类可能看起来像这样,但我不知道如何添加 Button(最好的方法是创建一个 Button 对象并仅在选定项目上显示它 - 我认为它会更好的性能)

    公共类 RoomClickListener 实现 OnItemClickListener {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        Button b = new Button(arg0.getContext());
        b.setText("Join");
    }
    

    }

【问题讨论】:

  • 一个 OnItemClickListener 听起来像是一个好的开始,你有什么尝试?发布您当前的代码和您遇到的任何错误。
  • 您需要为每个项目提供Button,还是只为整个项目提供一个Button
  • 我想用 TextView 创建列表。当用户单击 TextView 时,我想在此 TextView 下显示 Button,但是当用户单击其他 TextView 时,我想在该 TextView 下显示按钮,依此类推。

标签: java android android-listview


【解决方案1】:

您是否尝试过使用 Button 的 android:visibility

我猜将它设置为可见/不可见可能是一种方法。

【讨论】:

  • 不,我没有,因为我认为动态添加按钮会更好。我对吗?我应该为每个项目添加按钮并在点击时显示它们吗?
  • 我真的不知道哪种解决方案是最好的,但我想您可以将 Button 充气到您选择的视图。要删除它,将可见性设置为 GONE 应该可以解决问题。
  • @pepuch Damien 的建议是最好的。设置 xml 中消失的按钮的可见性以及当事件触发时,即 onItemClick 设置按钮的可见性可见
【解决方案2】:

添加button 并在更改后的view 上调用invalidate()

这应该可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 2016-10-21
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    相关资源
    最近更新 更多