0

拡張する 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>
4

3 に答える 3

0

物事を短くするために-何も機能しませんでした。各カスタムビューにonClickリスナーを追加しました。

于 2012-10-22T20:16:17.127 に答える
0

カスタム リスト アイテムの XML で、3 番目のタグを ImageView にするつもりでしたか? これが問題の原因かどうかはわかりませんが、sdk が XML の形式が正しくないことを検出すると、問題が発生する可能性があります。

于 2012-10-04T15:48:15.597 に答える
0

リストを通常の LayoutView (scrollView を使用しないでください) に配置して、必要に応じて残りのレイアウトを非表示にし、リストに完全な画面を表示できるようにする必要があります。それが私にとってどのように機能するかです。

編集私はこのように使用します

  <RelativeLayout
    android:id="@+id/NewsListLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" android:visibility="gone">

    <ListView
        android:id="@+id/mylistView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</RelativeLayout>
于 2012-10-04T21:47:15.920 に答える