如何使用IF检查TextView可见性

时间:2013-03-12 14:03:05

标签: android

我有一个onCheckChangedListener来显示textView,具体取决于所选的单选按钮。我有1个问题和1个问题,我想知道是否有人可以帮助我。

问题:您是否可以将广播组的默认检查值设置为NO单选按钮,以便不检查任何一个按钮开始?

问题:如何使用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;
    }

2 个答案:

答案 0 :(得分:29)

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中的变量是小写的,只对类名使用大写。

答案 1 :(得分:1)

//如果TextView已经显示,你想隐藏它。

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

//取消选中单选按钮组中的所有单选按钮

RadioGroup rgButton = (RadioGroup)findViewById(R.id.radiobuttongroup);
rgButton.clearCheck();