Android列表视图 - 带有1个按钮的列表项工作正常,添加图像按钮不正常

时间:2016-01-23 19:37:45

标签: android listview

在列表视图中,我使用了一行带有1个按钮。这很好用。我可以点击按钮并处理它。此外,我可以单击列表项并生成事件。即使是列表上的长按也能正常工作。

添加图像按钮时,不会触发任何列表项单击或列出longpress事件。为什么?

首先,您将看到工作正常的列表行(使用1个按钮)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="35dp"
    android:padding="5dp"
    android:background="@drawable/list_selector"
    android:orientation="horizontal" >

<Button
    android:id="@+id/answer_usable"
    android:layout_width="40dp"
    android:layout_weight="0"
    style="@style/btnStyleGeocaching"
    android:textSize="12sp"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:layout_marginRight="5dp"
    android:text="Set" />

<LinearLayout 
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/variable"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:singleLine="true"
        android:layout_weight="1"
        android:text=""
        android:textSize="20sp"
        android:textStyle="bold" >

    </TextView>
    <TextView
        android:id="@+id/answer"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:text=""
        android:textSize="20sp"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:layout_alignParentRight="true"
        android:singleLine="true"
        android:textStyle="bold" >
    </TextView>
</LinearLayout>

    <TextView
        android:id="@+id/formula"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:text=""
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:textSize="13sp" >
    </TextView>
</LinearLayout>

<!-- second button comes here -->

</LinearLayout>

在最后一个线性布局上方的位置添加第二个图像按钮时,不会单击列表或触发长按。只有按钮才会收到按钮点击。

<ImageButton
    android:id="@+id/variable_edit"
    android:layout_width="40dp"
    android:layout_weight="0"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_action_edit"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:layout_marginLeft="5dp" />

列表视图是:

<ListView
    android:id="@+id/fragment_vars_list"
    android:layout_height="0dip"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:divider="#00000000"
    android:dividerHeight="6dp"
    android:choiceMode="singleChoice"
    android:scrollbars="vertical" />

将focusable = true添加到listview无关紧要。

1 个答案:

答案 0 :(得分:0)

解决了......使用ImageButton时...我无法点击列表项。通过按钮更改ImageButton,然后一切按预期工作。

然后你可以点击两个按钮并点击(或长按)一个listrow。

任何人都有线索?

嗯,它有效。