2015-02-09 78 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 
}