布尔表达式不起作用

时间:2015-12-14 17:05:12

标签: java android android-layout android-activity

我的代码如下:

boolean isInvisible = false;

public void onLoveButtonClicked(View view) {
    TextView textView = (TextView) findViewById(R.id.TextView);
    if (isInvisible){
        textView.setVisibility(View.VISIBLE);
    } else {
        textView.setVisibility(View.INVISIBLE);
    }
}

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text"
    android:id="@+id/TextView"
    android:layout_below="@+id/Button1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:visibility="invisible"/>

当我运行应用程序并按下按钮时,文本会显示,但是当我再次按下时,它什么也没做。

编辑:boolean isInvisible = false;

2 个答案:

答案 0 :(得分:3)

使用textView.getVisibility()将TextView的可见性切换为:

if (textView.getVisibility() != View.VISIBLE){
        textView.setVisibility(View.VISIBLE);            
    } else {
        textView.setVisibility(View.INVISIBLE);            
    }

答案 1 :(得分:0)

也可以切换变量isInvisible

 boolean isInvisible;

 public void onLoveButtonClicked(View view) {
    TextView textView = (TextView) findViewById(R.id.TextView);
    if (isInvisible){
        textView.setVisibility(View.VISIBLE);            
    } else {
        textView.setVisibility(View.INVISIBLE);            
    }
    isInvisible = !isInvisible;
}