5

カスタム XML ListItems が取り込まれた ListView があります。これは XML です。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="?android:attr/listPreferredItemHeight"
                android:padding="6dip">
...
</RelativeLayout>

listView は画面に正しく表示され、アイテムをクリックまたはホールドすると青色になります (Holo Light Theme を使用しています)

BaseAdapter を拡張するアクティビティの getView 内で、OnClickListener をビューに割り当てようとすると問題が発生します。

@Override
public View getView(int position, @Nullable View convertView, ViewGroup parent) {
    ...
    convertView = InflateUtils.inflate(mContext, R.layout.list_item);
    ...
    convertView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(mContext, "Test", 2000).show();
        }
    });
...
}

それを行った後、リスト項目のハイライト色が表示されなくなりました。リスト項目をクリックまたは保持すると、背景は白のままですが、とにかく onClickListener は完全に機能しています。

HoloLight のデフォルト スタイルを維持しながら、ハイライト カラーを取得するための提案はありますか?

4

3 に答える 3

3

項目ビューの個別のクリック リスナーではなく、それ自体でOnItemClickListener使用することをお勧めします。ListView

また、ハイライトの問題はすでにここで説明されています:

于 2013-08-08T17:44:14.723 に答える