自定义列表视图中的切换开关使列表视图无法点击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义列表视图中的切换开关使列表视图无法点击相关的知识,希望对你有一定的参考价值。

我正在开发android应用程序,我正在制作一个自定义列表视图,其中我已经放了一些textview和一个开关。在切换开关后,它使listview不可点击。我也把android:focusable="false"放在我的XML中,但它仍然不允许listview被点击。

我的代码和XML如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#fff"
    android:gravity="center_vertical"
    android:clickable="true"
    android:orientation="horizontal"
    android:padding="5dp" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <com.za.views.CircularImageView
            android:id="@+id/trustNetListUserImageView"
            android:layout_width="75dp"
            android:layout_height="75dp"
            android:layout_marginRight="5dp"
            android:padding="5dp"
            android:scaleType="fitXY"
            android:src="@drawable/profile_" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/trustNetListNameTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:singleLine="true"
                android:text="hesds"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#000" />

            <TextView
                android:id="@+id/trustNetListNumTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:text="TextView" />

            <TextView
                android:id="@+id/trustNetListApprovedTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="right|bottom"
                android:layout_marginRight="3dp"
                android:gravity="right"
                android:text="Approved"
                android:textColor="#ff0077"
                android:textSize="10sp" />

            <Switch
                android:id="@+id/switch1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:focusable="false"
                android:
                android:focusableInTouchMode="false"
                android:text="Switch" />

        </LinearLayout>
    </LinearLayout>

</LinearLayout>


requestListView.setAdapter(adapter);
requestListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {

                                showLoadingDialog();
                                ParseObject parseObject = requestedNetArrayList.get(arg2);
                                Constants.setOtherUserId(parseObject.getObjectId().toString());
                                Intent intent = new   Intent(TrustrkActivity.this,Othenfo.class);     
                                startActivity(intent);

                                if (parseObject.getBoolean("isApproved"))
                                    parseObject.put("isApproved", false);
                                else
                                    parseObject.put("isApproved", true);

                                parseObject.saveInBackground(new SaveCallback() {

                                    @Override
                                    public void done(ParseException e) {
                                        populateReqNetwork();
                                    }
                                });
                            }
                        });
答案

更换

android:focusable="false"
android:
android:focusableInTouchMode="false"

通过

android:focusable="false"
android:focusableInTouchMode="false"
另一答案

尝试:

android:clickable="false"

以上是关于自定义列表视图中的切换开关使列表视图无法点击的主要内容,如果未能解决你的问题,请参考以下文章

自定义控件-点击实现开关按钮切换

无法从android中的自定义列表视图中获取所选项目

如何使列表视图的文本视图可点击

如何为列表视图适配器中的开关添加点击监听器

滚动时更新自定义列表视图失败

如何使整行列表视图可点击?