隐藏listview中的某些元素onclick

时间:2017-03-27 16:53:39

标签: android listview

我有一个列表视图,显示在下面链接的图像中。我想要的是点击"接受订单"按钮,该按钮将被隐藏,另一个最初隐藏的togglebutton将变为可见。此行为只会影响单击的行,不会影响列表视图中的其他行(其他行仍将显示接受订单按钮)。如何为按钮设置onclicklistener?

Listview in question

2 个答案:

答案 0 :(得分:0)

1 - 首先,您需要为每行添加自定义对象列表。 每个Object都应该有一个布尔值,用于控制每个不同行的按钮状态。

示例:

public class Order {
    private String title;
    private boolean isAccepted;

    public Price(String title, boolean isAccepted) {
        this.title = title;
        this.isAccepted = isAccepted;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public boolean isAccepted() {
        return isAccepted;
    }

    public void setIsAccepted(boolean isAccepted) {
        this.isAccepted = isAccepted;
    }
}

2 - 创建Order类的ArrayList(或任何你拥有的)并设置数据。您的逻辑可以是“if isAccepted == true ,然后隐藏显示订单按钮”使用此逻辑设置数据。

3 - 设置适配器以列出listView中的项目。在适配器中,将onclicklistener设置为按钮,当您单击按钮时,将布尔值设置在列表的正确位置。然后通知/更新您的适配器。

如果您还有其他问题,请查看this simple example

答案 1 :(得分:0)

对于ListView,您必须设置一个提供

的适配器
public View getView(int position, View convertView, ViewGroup parent)

您可以为按钮设置onClickListener,并为相应的togglebutton设置可见性。

特定视图由

引用
convertView.searchViewById(int)

对于ListView示例,请查看here