繁体   English   中英

带有复选框的自定义列表视图不可点击

[英]Custom Listview with checkbox not clickable

我创建了一个带有复选框的自定义列表视图,列表视图上的项目不可点击。 我在这里做错了什么,我希望能够单击列表中的项目而不仅仅是复选框。

save.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            data = store.getText().toString();
            list.add(data);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.list_view, R.id.textView1, list);
            ls.setAdapter(adapter);
        }
    });
    ls.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            String click = list.get(arg2).toString();
            Toast.makeText(getBaseContext(), "You Clicked " + click, Toast.LENGTH_SHORT).show();

        }
    });

我的list_view.xml代码

    <CheckBox
    android:id="@+id/checkBox1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" />

    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/checkBox1"
    android:layout_alignBottom="@+id/checkBox1"
    android:layout_toRightOf="@+id/checkBox1"
    android:text="" />

我的activity_main.xml文件

   <ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText1" >

    </ListView>
  <EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:ems="10" />

<Button
    android:id="@+id/btnSave"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/editText1"
    android:text="Save" />

它不工作,因为加入CheckBoxListView抢断焦点ListView ,你是不是能够点击列表项。 有一个解决方法,不要使用复选框,但您可以使用 Drawable、ImageView 或 TextView 和参数setClickable(true)或 XML android:clickable=”true”代替它。 它会做这件事,因为你不会失去ListView的焦点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM