7

preferenceアイテムのselectabilityをfalseに設定すると、そのアイテムの周りの仕切りが消えることがわかります。ディバイダーを選択できない設定に保つ方法はありますか?

これらの仕切りを保持する方法があるかどうか知っていますか?

私はListView APIを見て、リストビュー項目(headersおよびfootersを除く)の選択可能な属性がないため、ここで適用できる解決策を見つけることができませんでした。

ありがとうございます!

答えて

0

いくつかのコード例が役に立ちます。 ListView要素に分周器を設定しましたか?はいの場合はthis postもチェックしてください。

そうしないと、カスタムListElementViewを作成し、レイアウトxmlにディバイダを追加できます。

+1

私の好みのリストには仕切りが全くないと言っているわけではありません。私は、選択不可*にされたアイテムは、それらの周りに仕切りなしで終わると言っています。コードを意図したフレームワークとして機能するので、コードに特別なものはありません。私はちょうどこのデフォルトの経験をカスタマイズする方法を探しています。助けてくれてありがとう! –

1

ハックでやりました。ここで

<Preference android:layout="@layout/preference_divider" /> 
<Preference android:title="@string/whatever" android:selectable="false" /> 

のres /レイアウト/ preference_divider.xml

<?xml version="1.0" encoding="utf-8"?> 
<View xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="#cccccc" 
    android:layout_width="fill_parent" 
    android:layout_height="1px" /> 
+0

なぜ1pxに変更しましたか? 0pxはうまく動作しますが、一部のデバイスやAndroidバージョンで0pxに問題があるかどうか疑問に思っていますか? – tomrozb

0

私のために働いた "トリック" です。好みの中のいずれかの項目にandroid:focusable = "true"を設定してください。 これにより、プリファレンスライン全体をクリックできなくなります。

0

テキストを表示するために環境設定を使用する場合は、編集不可能なEditTextPreferenceを使用することもできます。 プリファレンスは選択可能ですが、選択するとそのコンテンツのみが表示されます。

<EditTextPreference 
    android:editable="false" 
    ... /> 
0

非表示にする行を「ディバイダ」といいます。 PreferenceActivityListActivityに拡張されており、期待通りにListViewが使用されています。分周器はListViewに変更できます。あなたの中でPreferenceActivity

 ListView lv = getListView(); 
     lv.setDivider(new ColorDrawable(Color.TRANSPARENT)); 
     lv.setDividerHeight(0); 
関連する問題