首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView中的CheckBox -无法选择CheckBox

ListView中的CheckBox -无法选择CheckBox
EN

Stack Overflow用户
提问于 2015-04-10 23:36:06
回答 3查看 1.4K关注 0票数 0

我有一个连接了onItemClickListenerListView。在这个ListView中,我有一些行,每行都有一个CheckBox

问题是:当我单击CheckBox时,Listener who答案是附加到列表的onItemClickListener。相反,我希望连接到CheckBoxonCheckedChagedListener能够应答。

我试着把它

代码语言:javascript
复制
android:descendantFocusability="blocksDescendants"

在根项目或我的行布局中,我也尝试使用afterDescendantsbeforeDescendants变体,但它们都不能帮助我实现我想要的结果。

我也在Stackoverflow和其他地方查看了一些答案,但我无法摆脱它……

我怎样才能同时拥有两个监听器,一个只在CheckBox上,另一个在整行上?

EN

回答 3

Stack Overflow用户

发布于 2015-04-11 00:11:04

试试这段代码,应该会有帮助。

代码语言:javascript
复制
@Override
public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id){
    CheckBox cbx = (CheckBox)itemClicked.findViewById(R.id.cbxList);
    cbx.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){

        }
   });
}
票数 1
EN

Stack Overflow用户

发布于 2015-04-11 00:14:43

您的checkbox不应该获得整个行,您应该将android:focusable="false"设置为您的checkbox,在您的适配器中,您应该将OnCheckedChangeListener设置为您的checkbox

票数 0
EN

Stack Overflow用户

发布于 2015-04-11 00:24:12

添加这两个焦点android:clickable和android:,并将它们设置为false。

代码语言:javascript
复制
<CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:clickable="false"        
    android:focusable="false" 

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

https://stackoverflow.com/questions/29565396

复制
相关文章

相似问题

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