2013-03-12 25 views
7

Mam wskaźnik onCheckChangedListener, aby wyświetlić tekstView w zależności od tego, który przycisk opcji jest zaznaczony. Mam 1 pytanie i 1 problem, który zastanawiałem się, czy ktoś może mi pomóc.Jak sprawdzić widoczność TextView za pomocą IF

Pytanie: Czy można ustawić domyślną wartość grupy radiowej na NIE, aby żadne z nich nie było zaznaczone?

Problem: W jaki sposób mogę użyć instrukcji JEŻELI do ustalenia, czy widok tekstowy jest już "widoczny", a jeśli jest ustawiony na "miniony", uwzględnię mój obecny kod. Kod

:

@Override 
public void onCheckedChanged(RadioGroup arg0, int arg1) { 
    switch(arg1){ 
    case R.id.rfolk1: 
     Folk1.start(); 
     TvFolk1.setVisibility(View.VISIBLE); 

     TvFolk2.setVisibility(View.GONE); 

     Play.setVisibility(View.VISIBLE); 
     Pause.setVisibility(View.VISIBLE); 
     Stop.setVisibility(View.VISIBLE); 

     Play2.setVisibility(View.GONE); 
     Pause2.setVisibility(View.GONE); 
     Stop2.setVisibility(View.GONE); 
     break; 
    case R.id.rfolk2: 
     Folk2.start(); 
     TvFolk2.setVisibility(View.VISIBLE); 
     TvFolk1.setVisibility(View.GONE); 

     Play2.setVisibility(View.VISIBLE); 
     Pause2.setVisibility(View.VISIBLE); 
     Stop2.setVisibility(View.VISIBLE); 

     Play.setVisibility(View.GONE); 
     Pause.setVisibility(View.GONE); 
     Stop.setVisibility(View.GONE); 
     break; 
    } 

Odpowiedz

24

Klasa View obejmuje sposób getVisibility(). Porównaj to:

np

if (TvFolk1.getVisibility() == View.VISIBLE) 
    TvFolk2.setVisibility(View.GONE); 

Aby skrócić dół kodu, można również wykonać metodę:

public static void goneIfVisible (View v) 
{ 
    if (v.getVisibility() == View.VISIBLE) 
     v.setVisibility(View.GONE); 
} 

I pamiętać, Java, zmienne są małe litery, należy użyć tylko wielkich liter dla nazwy klas.

+0

Dzięki, to był pomocny, Przypuszczałem byłoby coś podobnego, ale z jakiegoś powodu moja zaćmienie nie dostać autouzupełnianie kodu więc tak naprawdę nie miałem żadnych wskazówek – Thomas

1

// Jeśli TextView jest już wyświetlony i chcesz go ukryć.

if (TvFolk1.isShown()) { 
    TvFolk2.setVisibility(View.INVISIBLE); 
} 

// Dla odznacz wszystko Przycisk radiowy z radia grup przycisków

RadioGroup rgButton = (RadioGroup)findViewById(R.id.radiobuttongroup); 
rgButton.clearCheck(); 
Powiązane problemy