Android-Sichtbarkeitsproblem mit Kontrollkästchen

7

Ich benutze eine Checkbox in meinem Code, die, wenn sie markiert ist, eine Textansicht und einen editText sichtbar macht, aber wenn ich das Kontrollkästchen deaktiviere, bleiben sie weiterhin sichtbar, anstatt verschwinden zu können.

Hier ist der Code:

%Vor%

Und ein Teil des XML, der sich in einem relativen Layout befindet:

%Vor%

Was soll ich tun, damit der textView und der EditText verschwinden, wenn ich das Kontrollkästchen deaktiviere?

Danke!

    
fxi 20.05.2010, 15:27
quelle

3 Antworten

14

Verwenden Sie View.VISIBLE , View.INVISIBLE , View.GONE , um die Sichtbarkeit zu steuern (anstelle von 0 und 1).

    
yanchenko 20.05.2010, 15:36
quelle
6

Zwei Dinge:

  1. Sie sollten verwenden setOnCheckedChangeListener() , was Ihnen das Leben leichter macht.

  2. Sie sollten View.GONE und View.VISIBLE anstelle von Ganzzahlen für setVisibility() verwenden.

Daniel Lew 20.05.2010 15:37
quelle
2

Das Problem ist in diesem Teil:

%Vor%

Sie sollten keine Integer-Werte verwenden, sondern stattdessen die von der View-Klasse

bereitgestellten Konstanten verwenden

// Führen Sie eine Aktion für Klicks durch, abhängig davon, ob sie jetzt aktiviert ist                 if (((CheckBox) v) .isChecked ()) {

%Vor%

statt unsichtbar könnten Sie auch GONE verwenden. dann benötigt Ihr unsichtbares Textedit keinen Platz im Layout

Wenn Sie die API überprüfen, sehen Sie, dass 1 nicht gültig ist Parameter:

    
anon 20.05.2010 15:40
quelle