【问题标题】:Android how to show hidden item only for one row on clickAndroid如何在点击时仅显示一行的隐藏项目
【发布时间】:2021-09-07 16:59:31
【问题描述】:

我正在尝试创建一个 listView,上面有一个 Button 项。 我想让这个按钮可以点击,所以我在适配器getView中做了类似这样的代码:

myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("_myButton_Log", "ShowOnClick");
            }
        });

现在我正在尝试更改我的 textView 的可见性参数:

TextView myDesc = row.findViewById(R.id.my_desc);
myDesc.setVisibility(convertView.GONE);

单击此按钮后,我只想在一行中显示此 textView。

现在我做到了,每个行的按钮都是可点击的,但正如您所见,它只显示日志。我是 ListViews 和按钮的新手,我试图了解如何使其工作,但现在我找不到任何帮助......

所以我在这里乞求帮助! :)

无论如何,如果您希望我使用 OnItemClickListener,这是不可能的,因为我将它用于另一种方式。

【问题讨论】:

  • 我没有明白这一点。你有列表,每个项目都有一个可点击的按钮。现在请通过点击按钮明确说明您的代码应该如何表现?它现在的表现如何?尝试编辑您的答案以使事情更清楚
  • 嗨!我的意思是,列表视图中的每一行都有按钮,并且一些可见性设置为消失的项目,现在我想在示例行中单击此按钮,并在单击此按钮后将这些项目的可见性设置为可见,但仅限于此一行:)
  • 你清楚了吗?
  • 好吧,我明白了。是否可以通过 git 共享您的代码?所以我可以为你解决。
  • 嗨,这是可能的,但您可能无法获取列表,因为列表视图是从休息请求响应的 json 构建的。我可以请求您使用此按钮制作示例列表视图吗?我很感激你!

标签: android listview android-listview onclick


【解决方案1】:

好的,我找到了我的问题的答案。

遇到此问题的每个人 - 只需对适配器中列表视图中的按钮执行一个简单的操作,例如:

myButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        TextView myPrice = row.findViewById(R.id.price);
        Button myButton = row.findViewById(R.id.button);

        myPrice.setVisibility(convertView.VISIBLE);
        myButton.setVisibility(convertView.GONE);
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2011-01-15
    相关资源
    最近更新 更多