2013-03-12 10 views
7

どのラジオボタンが選択されているかに応じてtextViewを表示するonCheckChangedListenerがあります。私は1つの質問と1つの問題を持っています。IFを使用してTextViewの可視性を確認する方法

質問:ラジオグループのデフォルトのチェック値を[いいえ]ラジオボタンに設定できないため、最初にチェックされていないラジオボタンはありますか?

問題:IF文を使用して、テキストビューがすでに表示されているかどうかを判断するにはどうすればよいですか?

コード:

@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; 
    } 

答えて

24

ViewクラスがgetVisibility()方法を含みます。

例::その比較

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

コードを下に短縮するために、あなたもこの方法にすることができます。

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

をし、Javaで覚えておいて、変数は小文字にする、だけのために大文字を使用しますクラス名。

+0

おかげチェックを外しために、これは役立ちました、私はそれが似たものになるだろうと想定ますが、何らかの理由で私の日食は、コードのオートフィルを得ることはありませんだから私は実際にそのことからのヒントはなかった – Thomas

1

// TextViewが既に表示されていて、非表示にしたい場合。

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

は、//ラジオボタングループのすべてのラジオボタン

RadioGroup rgButton = (RadioGroup)findViewById(R.id.radiobuttongroup); 
rgButton.clearCheck(); 
関連する問題