android – 未调用ListView onItemClickListener

android – 未调用ListView onItemClickListener,第1张

概述我试图制作自定义ListView. ListView包含一个包含TextView和Switch的RelativeLayout.当您按下Switch时,Switch必须从true更改为false(反之亦然). 这是我的getView方法: public View getView(int position, View convertView, ViewGroup parent) { View 我试图制作自定义ListVIEw. ListVIEw包含一个包含TextVIEw和Switch的relativeLayout.当您按下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的可点击和可聚焦,但这也不起作用.

执行setonItemClickListeren.

解决方法 将下面的行添加到ListvIEw行的容器中:
androID:descendantFocusability="blocksDescendants"

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

此外,如果您希望ListvIEw行中的按钮也可单击,请将onClickListener添加到ListVIEw适配器getVIEw()方法内的按钮.

总结

以上是内存溢出为你收集整理的android – 未调用ListView onItemClickListener全部内容,希望文章能够帮你解决android – 未调用ListView onItemClickListener所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存