拡張する Android アクティビティに問題がありますListActivity
。リストをスクロールするまで、リスト内の項目を「クリック」できないようです。リストを少しスクロールすると、「クリック」が正常に機能します。リストが単純にスクロールできない場合 (アイテムが足りないなど)、すべてがそのまま機能します。
アクティビティが拡張されるため、ListActivity
オーバーライドするだけonListItemClick
です:
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
Log.e(TAG, "Click fired");
}
リスト内の行はカスタム XML によって定義されており、ここにあるほぼすべての投稿を読んだ後、フォーカス可能な要素に関係していると考えていますが、うまくいかないようです。以下のリスト XML からわかるように、すべての項目に がありますがfocusable="false"
、それは役に立ちませんでした。
--のすべてのオプションも試しましたandroid:descentFocusability
が、適切に機能するものはありません。
この問題は、Froyo のすべてのバージョンの Android で見られます --> ICS
編集
同じリストにアタッチされている onScroll リスナーを削除すると、この問題は解決すると判断しました。しかし、私は本当にそれが必要であり、ログ情報を両方に入れましたが、onScroll
有益onScrollStateChanged
な情報は何も表示されません (たとえば、スクロールも起動されません)。これは既知の競合ですか?
問題のアクティビティのレイアウト XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="false"
android:focusableInTouchMode="false">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search Results: "
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_gravity="left"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView android:id="@+id/query_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="context sensitive"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_gravity="right"
android:textStyle="italic"
android:focusable="false"
android:focusableInTouchMode="false" />
</FrameLayout>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="1dip"
android:background='@color/grey'
android:focusable="false"
android:focusableInTouchMode="false" />
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#00000000"
android:descendantFocusability="blocksDescendants" />
<TextView
android:id="@+id/prodcutdb_results_empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dip"
android:paddingTop='4dip'
android:text="No results"
android:focusable="false"
android:focusableInTouchMode="false"
android:visibility="gone"/>
</LinearLayout>
カスタム リスト アイテム XML: (この XML にフォーカス可能なタグを追加しLinearLayout
ても効果はありません)
<?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="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
android:paddingRight="4dip"
android:cacheColorHint="#00000000">
<TextView
android:id="@+id/list_item_label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:paddingLeft="20dip"
android:textSize="16dp"
android:layout_weight="1"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
<view
android:layout_width="wrap_content"
android:id="@+id/list_item_image"
android:layout_height="fill_parent"
android:src="@drawable/right"
android:maxHeight="50dp"
android:maxWidth="50dp"
android:layout_gravity="right"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false" />
</LinearLayout>