0

ImageView、、 などのいくつかの要素が追加されたカスタムリストビューがTextViewありViewます。これらの 3 つの要素が 1 つの行を構成し、これを全体として作成したいと考えていclickableます。現在起こっているのは、またはに配置android:background="@drawable/text_selection_file"すると、行全体ではなく、対応する要素の背景のみが選択されます。複数の行があるため、このように各行をそれぞれ別の行に入れることはできません。次の行ごとのプロパティは機能しません。したがって、行全体を選択できるこのトラフを行う方法を見つける必要があります。現在、特定の選択またはのみで機能しますが、一度に両方では機能しません。私のコードは以下ですImageViewTextViewGroupViewandroid:layout_below="above_view"TextViewImageViewXML

コード

         //Above code for layout
         <ImageView
            android:id="@+id/homeLink"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_below="@+id/menu_view"
            android:layout_margin="8dp"
            android:contentDescription="@string/app_name"
            android:gravity="center_vertical"
            android:src="@drawable/home" />

        <TextView
            android:id="@+id/home_link"
            android:layout_width="fill_parent"
            android:layout_height="45dp"
            android:layout_below="@+id/menu_view"
            android:layout_marginLeft="45dp"
            android:gravity="center_vertical"
            android:text="Home"
            android:textColor="@color/WHITE"
            android:textSize="18sp"
            android:textStyle="bold" />

        <View
            android:id="@+id/home_view"
            android:layout_width="fill_parent"
            android:layout_height="0.5dp"
            android:layout_below="@+id/home_link"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="@color/VIEW_COLOR" />
         //More rows down there
4

1 に答える 1

0

ListView の行に onClickListener を設定できます。

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
            //insert code
        }

    });

また、行レイアウトを複合ビューにラップし (たとえば、ここhttp://www.vogella.com/articles/AndroidCustomViews/article.htmlのように)、 setOnClickListener をオーバーライドして、このビューのようなビューのパーツと対話することもできます (可能にするカスタム キャプションを持つ ImageButton動的に画像を ImageButton にアップロードし、キャプションの Typeface を変更します)

public class CaptionImageButton extends LinearLayout {
private ImageButton ibBackground;
private TextView tvCaption;


@Override
public void setOnClickListener(final View.OnClickListener onClickListener) {
    ibBackground.setOnClickListener(onClickListener);
}

}

于 2013-11-01T09:05:24.497 に答える