0

Ich hasse die regelmäßige CheckBoxPreference, weil Sie irgendwo auf die Einstellung klicken und den Wert umschalten können. Ich versuche, eine benutzerdefinierte CheckBoxPreference zu erstellen, in der ich NUR das Kontrollkästchen aktivieren kann, und den Titel oder die Zusammenfassung ignorieren. Ich kann das jedoch nicht herausfinden.Benutzerdefinierte CheckBoxPreference, wie zum Deaktivieren von Titel und Zusammenfassung von klicken

Meine benutzerdefinierte CheckBoxPreference sieht aus wie die Standardform:

<?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> 

Derzeit funktioniert dies genau wie die Standard-CheckBoxPreference, wo überall auf der gesamten Breite ändert sich das Kontrollkästchen Wert klicken. Gibt es eine einfache Möglichkeit, den Titel und die Zusammenfassung zu deaktivieren?

+0

dieser Code sollte funktionieren, was ist das Problem? – diegoveloper

+0

Ich möchte nicht in der Lage sein, auf die Zusammenfassung/den Titel zu klicken, aber NUR das Kontrollkästchen. Es ist zu einfach, versehentlich eine Vorliebe auszuwählen, wenn Sie den gesamten Bereich treffen können. –

+0

könnten Sie Ihre Aktivität oder Fragmentklasse setzen? – diegoveloper

Antwort

0

Entfernen Sie das klickbare/focusable = false aus dem Kontrollkästchen, und fügen Sie es dem linearen Layout hinzu.

+0

Wenn ich das mache, wird das Kontrollkästchen nicht mehr mit der Einstellung verknüpft (die Einstellung wird also nicht automatisch gespeichert). Wenn anklickbar/fokussierbar auf das Kontrollkästchen ist, wird nur gespeichert, aber natürlich ist auch der gesamte Texttitel/Zusammenfassung anklickbar. –

Verwandte Themen