当我按下按钮以显示TextView
它的工作正常时,我创建了一个按钮和TextView
,但我的问题是当按下相同的按钮时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);
}
});
答案 0 :(得分: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);
*/
}
});
答案 1 :(得分: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);
}
}
});
答案 2 :(得分: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"/>
//现在在Java类中声明Button_Click函数
public void Button_Click(View i)
{
textview.setVisibility(textview.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
// Do your Code in here
}
答案 3 :(得分: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);
}
});