ListviewでButtonがフォーカスを奪う解決方法


istview buttonがフォーカスを奪う解決方法:
Item xmlルートノード追加android:descendant Focusability=「blocks Descendants」
セット
android:focusable=「false」
このようにButtonとListView Itemをクリックするとそれぞれ自分のクリックに応答できます。
開発によくある問題です。プロジェクトの中のlistviewは簡単な文字だけではなく、自分でlistviewを定義する必要があります。自分のAdapterはBaseAdapterを継承します。adapperの中で必要に応じて作成します。問題が発生しました。各アイテムをクリックする時に反応がなく、獲得できない焦点が発生するかもしれません。
理由の多くは、あなた自身が定義したItemにImageButton、Button、CheckBoxなどのサブコントロール(ButtonやCheckableのサブコントロールとも言える)が存在しているため、これらのサブコントロールはフォーカスを獲得します。
この時はdescendant Focusabilityを使って解決できます。
この属性は、viewの焦点を取得する際に、view Groupとそのサブコントロールとの関係を定義します。
属性の値は3つあります。
before Descendants:view groupは、そのサブコントロールを優先してフォーカスを得ることができます。
after Descendants:view groupは、そのサブコントロールが焦点を得る必要がないときのみ焦点を得ることができる。
blocks Descendants:view groupはサブコントロールをカバーして直接的に焦点を得ることができます。
私たちが使っているのは、Itemレイアウトのルートレイアウトに***android:descendant Focusability="blocks Descendants"**の属性を加えるという三つ目のものです。
以上述べたのは小编が皆さんに绍介したListviewのButtonに焦点を合わせる解决方法です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。