2015-02-09 44 views
2

我創建了一個按鈕和TextView當我按下按鈕以顯示TextView其工作良好時,但我的問題是當同一個按鈕按下時看不到TextView我該怎麼做?這是我的代碼:使用Android中的一個按鈕可見的TextView不可見使用

<Button 
     android:id="@+id/btn1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     /> 
    <TextView 
     android:id="@+id/pas_rules" 
     android:layout_width="fill_parent" 
     android:layout_height="30dp" 
     android:text="welcome" 
     android:visibility="gone"/> 

主要活動:

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 

      textview.setVisibility(View.VISIBLE); 

     } 
    }); 

回答

6
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 

     textview.setVisibility(textview.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE); 
     // which is just like: 
     /* 
     if(textview.getVisibility() == View.VISIBLE) 
      textview.setVisibility(View.GONE); 
     else 
      textview.setVisibility(View.VISIBLE); 
     */ 
    } 
}); 
+0

是。這邏輯是完美的 – 2015-02-09 11:41:39

+0

非常好的朋友簡短而正確 – 2015-02-09 11:42:32

2

您可以通過檢查視圖的可視性實現這一目標: -

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 

     if(textview.getVisibility()==View.GONE) 
     { 
     textview.setVisibility(View.VISIBLE); 
     } 
     else 
     { 
     textview.setVisibility(View.GONE); 
     } 

    } 
}); 
1

您可以檢查是否您的如果您點擊按鈕,Textview可見或不可見。如果可見,則可以刪除可見性,如果不可見,則可以使其可見。你可以在這裏找到一個解決方案:How to check TextView Visibility using IF 你必須使用textview.getVisibility()方法並將其檢查到View.VISIBLE。如果可見,則必須將textview設置爲不可見:textview.setVisibility(View.GONE);

你的代碼可能是這樣的:

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      if (textview.getVisibility()==View.VISIBLE){ 
       textview.setVisibility(View.GONE); 
      } 
      else{ 
       textview.setVisibility(View.VISIBLE); 
     } 
    }); 
2

換種方式

<Button 
    android:id="@+id/btn1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:onClick="Button_Click" 
    android:clickable="true" 
    /> 
<TextView 
    android:id="@+id/pas_rules" 
    android:layout_width="fill_parent" 
    android:layout_height="30dp" 
    android:text="welcome" 
    android:visibility="gone"/> 

//現在宣佈Button_Click功能的Java類

public void Button_Click(View i) 
{ 

    textview.setVisibility(textview.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE); 
    // Do your Code in here 
}