首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >listView中的按钮并不总是被触发

listView中的按钮并不总是被触发
EN

Stack Overflow用户
提问于 2017-12-31 09:17:22
回答 1查看 51关注 0票数 0

我有一个列表视图,在每个单元格中都有一个带有7个按钮的RelativeLayout。在滚动列表之前,对于所有可见的listView项,所有按钮都可以正常工作(单击时都会触发),但是在listView滚动之后,一些项目会变成不可点击的(无论我单击项目中的哪个按钮),而且它是随机的,在另一个滚动之后,同一项可以变为可单击的,而其他的可以在转到不可单击之前变为不可单击。我已经注意到,它通常发生(项目变成不可点击)后,滚动所有的方式。另一件事,我已经注意到,很少(在4-5不成功的点击后,在一排)按钮触发几次在一排(就像它被延迟)。但通常情况下,它不会发生在一些不成功的点击。

在我的原始代码中,我创建了一个arrayList of RelativeLayouts (每个用于listView项),并将arrayList放入适配器中。对于每7个按钮(每个单元格),我设置7个in,对应于它们在数组列表中的位置。这样,我在主类中实现了OnClick事件。以下是3个按钮(7个按钮中的一个):

代码语言:javascript
复制
for (int i = 0; i < EXPEND_BUTTONS.length; i++) {
            if (view.getId() == EXPEND_BUTTONS[i]) {
                handleEmojiPanel(i);
                break;
            }
            if (view.getId() == BUTTONS[i] || view.getId() == IMAGES[i]) {
                ShowTopItem item = new ShowTopItem(getActivity(), i);
                item.show();
                break;
            }
        }

因为这个问题,我修改了代码。我在getView方法中为适配器本身中的按钮处理了getView事件(仅针对2个按钮):

代码语言:javascript
复制
public View getView(final int position, View convertView, ViewGroup parent) {
        pos = position;
        Button btn = (Button) listOfObjects.get(position).getChildAt(0);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ShowTopItem item = new ShowTopItem(getActivity(), position + listChosen);
                item.show();
            }
        });
        Button imageBtn = (Button) listOfObjects.get(position).getChildAt(2);
        imageBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ShowTopItem item = new ShowTopItem(getActivity(), position + listChosen);
                item.show();
            }
        });
        return listOfObjects.get(position);
    }

我也有同样的结果。什么都没变。

我在互联网上到处找过,似乎只有我一个人遇到了这样的问题。

有人知道这里有什么问题吗?如果需要其他代码,请随时询问。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-07 08:10:40

我没有找到原因,但我把ListView改为了ScrollView,现在一切都很好。也许ListView中有某种bug,但在这种情况下,我想知道为什么我没有发现任何关于它的抱怨。总之,与ScrollView一起工作是非常完美的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48041324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档