gpt4 book ai didi

android - ListView onItemClickListener 未被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:44:18 25 4
gpt4 key购买 nike

我正在尝试制作自定义 ListView。 ListView 包含一个 RelativeLayout,后者包含一个 TextView 和一个 Switch。当您按下 Switch 时,Switch 必须从 true 变为 false(反之亦然)。

这是我的 getView 方法:

public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.item_gproblem, null);

//vi.setClickable(true); Tried this
//vi.setFocusable(true);

TextView txt_comment_description = (TextView) vi
.findViewById(R.id.txt_comment_description);
txt_comment_description.setText(MyTasks.allGComments.get(position)
.getProblemDescription());
//txt_comment_description.setFocusable(false); Tried this
//txt_comment_description.setClickable(false);

Switch switch_comment = (Switch) vi.findViewById(R.id.switch_comment);
//switch_comment.setFocusable(false); Tried this
//switch_comment.setClickable(false);

//First time running getMyGComments returns a empty ArrayList
if (MyTasks.allCustomers.get(ServerData.myID - 1).getMyGComments()
.size() > position) {
switch_comment.setChecked(MyTasks.allCustomers
.get(ServerData.myID - 1).getMyGComments().get(position)
.isProblemValue());
}
return vi;
}

这是我的 onClickListener:

list_quality.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

//Do Something
}
});

当我单击 TextView、Switch 或两个对象之间的空间时,我的 onItemClickListener 没有被调用。当我按下开关时,开关正常工作(状态改变)。但是我的 onItemClickListener 没有被调用。我试图禁用 Switch 和 TextView 的 clickablefocusable 但这也不起作用。

setOnItemClickListeren 被执行。

最佳答案

将下面的行添加到 ListView 行的容器中:

android:descendantFocusability="blocksDescendants"

从您放置它们的任何地方删除所有可点击/可聚焦的内容。如果您按下整个项目,则应调用 onItemClick。

此外,如果您希望 ListView 行内的按钮也可点击,请将 onClickListener 添加到 ListView 适配器 getView() 方法内的按钮。

关于android - ListView onItemClickListener 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com