0

プリファレンスの任意の場所をクリックして値を切り替えることができるので、通常のCheckBoxPreferenceが嫌いです。私はカスタムチェックボックスを作成しようとしています。ここではチェックボックスをクリックするだけで、タイトルやサマリーは無視されます。しかし、私はこれを理解していないようです。Custom CheckBoxPreference、クリックからタイトルとサマリーを無効にする方法

マイカスタムCheckBoxPreferenceは、標準フォームのようになります。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

    <LinearLayout 
     android:id="@+id/talkButtonText" 
     android:layout_width="0dp" 
     android:layout_weight="85" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

    <TextView 
     android:id="@android:id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="16dp" 
     android:layout_marginTop="5dp" 
     android:gravity="left" 
     android:textColor="#FFFFFF" 
     android:textSize="24sp" /> 

    <TextView 
     android:id="@android:id/summary" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_below="@+android:id/title" 
     android:layout_marginLeft="16dp" 
     android:layout_marginTop="2dp" 
     android:gravity="left" 
     android:textColor="#c0c0c0" 
     android:textSize="14sp" /> 

</LinearLayout> 

<CheckBox 
    android:id="@+android:id/checkbox" 
    android:layout_width="0dp" 
    android:layout_weight="15" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:focusable="false" 
    android:clickable="false" 
    android:layout_alignParentRight="true" 
    android:layout_margin="16dp"/> 

</LinearLayout> 

現在、正確に全体の幅の任意の場所をクリックすると、標準CheckBoxPreference、のようなこの機能は、チェックボックスの値を変更します。タイトルとサマリーをクリックしないようにする簡単な方法はありますか?

+0

そのコードは機能するはずですが、問題は何ですか? – diegoveloper

+0

私は要約/タイトルをクリックすることはできませんが、チェックボックスのみをクリックすることはできません。誤って嗜好を選択するのは簡単ではありません。 –

+0

アクティビティやフラグメントクラスを置くことができますか? – diegoveloper

答えて

0

クリック可能な/ focusable = falseをチェックボックスから削除し、線形レイアウトに追加します。

+0

これを行うと、チェックボックスは環境設定にリンクされなくなります(環境設定は自動的に保存されません)。クリック可能/フォーカス可能な場合はチェックボックスのみで保存されますが、もちろんテキストタイトル/サマリー全体もクリック可能です。 –

関連する問題