Listview项目不接受点击

时间:2015-06-19 16:05:11

标签: android android-layout android-listview

我有这个布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:descendantFocusability="blocksDescendants">

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

        <TextView
            android:id="@+id/textViewId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"/>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/textViewText"
                android:layout_marginTop="5dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall"
                android:singleLine="false"
                android:layout_weight="1" />


            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/buttonOk"
                android:clickable="true"
                android:focusable="false"/>
        </LinearLayout>

    </LinearLayout>
</RelativeLayout>

布局用于ListFragment。我还有以下代码:

@Override
public void onListItemClick(ListView listView, View view, int position, long id) {
    MyItem item = items.get(position);

    //Do something...
}

我有一个自定义适配器和一个视图。但listview项目不可点击。目前我仍然没有按钮本身的任何代码。我希望能够点击整个listview项目。

上述不是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

在ListView中,使用setOnItemClickListener。

这是处理ListView上的点击事件的最简单方法