在列表视图中,我使用了一行带有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无关紧要。
答案 0 :(得分:0)
解决了......使用ImageButton时...我无法点击列表项。通过按钮更改ImageButton,然后一切按预期工作。
然后你可以点击两个按钮并点击(或长按)一个listrow。
任何人都有线索?
嗯,它有效。