2012-02-12 4 views
0

私は現在、CheckedTextViewsが設定されたListViewを実装しています。 1つのことを除いて:私のListViewはフォーカスを維持しているので、フォーカスされていると、その中のアイテムは周囲に奇妙なオレンジ色の境界線が表示されます。また、迷惑な項目のテキストの色も変更されます。私はSetItemsFocusableメソッドを使用しようとしましたが、無駄です。私はアダプタクラスのisEnabledメソッドもオーバーライドしましたが、これでリスト項目の選択をチェックしたり選択解除することができなくなりました。私はCheckedTextViewsの機能を保持したいだけで、フォーカスを無効にするだけです。私はまた、CheckedTextViews自身をxmlファイルに集中できないようにしようとしましたが、これはうまくいきませんでした。子のチェック可能性を失うことなく、ListView全体とその子すべてのフォーカスを無効にする方法はありますか?タッチまたはキーパッドでスクロールすることによって、ListViewのフォーカスを得ることは望ましくありません。本当にありがとう!listview behavior dillemna

+0

ああ、私はAndroid 2.2用に開発しています。 – user1118042

答えて

0

透明なフォーカスをDrawableに設定して、リスト内の個々のビューにStateListDrawableを設定することができます。 @android:color/transparent(それは明らかにDrawableです)を使用してみてください。

これは、私を助け:http://blog.stylingandroid.com/archives/55

+0

そのトリックをした!ありがとう! – user1118042

0

私は通常、それを達成するために

m_listView.setSelector(drawable or resid); 

を使用しています。

ps:リストビューの項目が選択されている、アイテムがフォーカスされている、項目がコントロールされているなど、多くのソースからオレンジ色のオレンジが来ていると思うので、焦点が合わないかもしれませんが、