2015-12-14 4 views
1

У меня есть этот код ниже:логическое выражение не работает

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"/> 

Когда я запустить приложение и я нажимаю кнопку, текст появляется, но когда я снова отжать, он ничего не делает.

EDIT: boolean isInvisible = false;

+0

Вы не показали нам логику для 'isInvisible' ... –

+0

я редактировал его ложь. –

+1

где вы меняете значение для false? :) –

ответ

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; 
} 
+0

Спасибо за помощь! –

Смежные вопросы