ホームページ  >  記事  >  Java  >  Android で選択後に ListView 項目を強調表示したままにする方法は?

Android で選択後に ListView 項目を強調表示したままにする方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-06 18:53:02824ブラウズ

How to Keep ListView Items Highlighted After Selection in Android?

Android で選択後に ListView 項目を強調表示したままにする方法

Android では、ListView 項目の選択状態を維持すると、以下を提供することでユーザー エクスペリエンスを向上させることができます。現在の選択内容を明確に視覚的に示すインジケーター。ただし、開発者は、スクロールや ListView とのさらなる操作など、特定のイベントの後に選択した項目の強調表示が失われるという問題に遭遇することがあります。

課題

最近の開発者XML レイアウトで 2 つの ListView を操作しているときに、この問題が発生しました。 1 つの ListView にはクライアントのリストが表示され、もう 1 つは選択したクライアントに関する詳細情報を表示しました。最初の ListView でクライアントが選択されたとき、開発者は、対応する詳細で 2 番目の ListView を更新しながら、その強調表示された状態を保持したいと考えました。ただし、強調表示は保持されませんでした。

解決策

この問題に対処するには、いくつかのアプローチがあります。

1. XML 属性の使用:

XML レイアウト内で、選択した項目の強調表示を保持する必要がある ListView に次の属性を適用します。

android:choiceMode="singleChoice"
android:listSelector="@drawable/list_selector"

@drawable/list_selector をカスタムに置き換えます。希望のハイライト色を指定するセレクター ドローアブル。

2.プログラムによるアプローチ:

または、次のコードを使用して、ListView の選択モードと強調表示色をプログラムで設定します。

listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
listView.setSelector(getResources().getDrawable(R.drawable.list_selector));

3.ビューの操作を避ける:

ListView のビューの一時的な性質により、イベント リスナーを介してビューを直接操作することは信頼性が低い可能性があることに注意することが重要です。背景を表示するために加えられた変更は、スクロールやその他のイベントが発生した後は保持されない場合があります。

以上がAndroid で選択後に ListView 項目を強調表示したままにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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