ホームページ Java &#&チュートリアル Android ListView 項目の背景色の設定と項目クリックが応答しない解決策

Android ListView 項目の背景色の設定と項目クリックが応答しない解決策

Jan 20, 2017 pm 03:23 PM

リストビューを使用するときに最も一般的な問題のいくつかを以下に示します。
1. 項目の背景色とクリック色を変更する方法
デフォルトでは、リストビューの項目の背景色は黒で、ユーザーがクリックすると黄色になります。カスタムの背景色に変更する必要がある場合、通常 3 つの方法があります:
1) listSelector を設定する
2) レイアウト ファイルに項目の背景を設定する
3) アダプターの getview に設定する
これら 3 つの方法は次のとおりです。項目のデフォルトの背景色とクリック色の変更については以下で個別に説明しますが、その前にセレクターを記述する必要があります。 drawableはカラーリソースまたは画像リソースとして設定できます。

1) listview

<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/light_blue"></item>
    <item android:state_pressed="false" android:drawable="@color/sgray"></item>
</selector>
ログイン後にコピー

のlistSelectorを設定する 2) listitemのレイアウトファイルにbackground属性を設定する 以下はlistitem

<ListView
   android:id="@+id/history_list"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:divider="#565C5D"
   android:dividerHeight="3dp"
   android:listSelector="@drawable/selector"
   android:cacheColorHint="@android:color/transparent">
</ListView>
ログイン後にコピー

のレイアウトファイルです 3)adapter

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/selector">
    <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="历史记录"
          android:textColor="#ffffff"
          android:textSize="20sp"
          android:layout_centerInParent="true">
     </TextView>
</RelativeLayout>
ログイン後にコピー

のgetViewメソッドに設定する 以上です。リストビューの奇数行と偶数行を変更する必要がある場合、3 番目の方法が最も柔軟です。異なるセレクターに設定した場合は、3 番目の方法のみを使用できます。

2. ボタン、チェックボックス、その他のコントロールをクリックしても反応がありません。

listitem にボタンやチェックボックスなどのコントロールが含まれている場合、listitem はデフォルトでフォーカスを失い、その結果、項目のイベントに応答できなくなります。最も一般的な解決策は、listitem のレイアウト ファイルに子孫Focusability 属性を設定することです。

 if(convertView ==null)
 {
     convertView = LayoutInflater.from(context).inflate(R.layout.listitem, null);
 }
 convertView.setBackgroundResource(R.drawable.selector);
ログイン後にコピー

Android ListView の項目の背景色の設定と項目のクリックが応答しない問題の解決策に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)