如何通过单击同一行使项目可见和不可见?

问题描述 投票:1回答:7

我有一个Linearlayout-总收入,而另一个TableLayout可正常收入,应该出现在总收入的正下方。程序运行时,正常收入表将不可见。当用户单击“总收入”时,将显示该表。如果用户单击“再次总收入”,该表应消失。我已经尝试过此代码,但是没有用。

totalincome.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        int x =0;
        // TODO Auto-generated method stub
        if (x==0)
        {
            normalincometable.setVisibility(View.VISIBLE);
            x=1;
        }
        else 
        {
            normalincometable.setVisibility(View.GONE);
            x=0;
        }
    });
}

通过此代码,我可以使表格在第一次单击时可见,但是在下次单击时它不会消失。有什么选择吗?

android onclicklistener
7个回答
1
投票
int x = 0;。因此,当调用onClick时,它将为“ x”分配0。在课程范围外将其声明。

4
投票
@Override public void onClick(View v) { if(normalincometable.getVisibility() == View.VISIBLE) { normalincometable.setVisibility(View.GONE); } else { normalincometable.setVisibility(View.VISIBLE); } }

1
投票

1
投票
int x =0; totalincome.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (x==0) { normalincometable.setVisibility(View.VISIBLE); x=1; } else { normalincometable.setVisibility(View.GONE); x=0; } }); }

0
投票
int x =0; totalincome.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (x==0) { normalincometable.setVisibility(View.VISIBLE); x=1; } else { normalincometable.setVisibility(View.GONE); x=0; } }); }

0
投票
Boolean isFirstTimeClicked=true; totalincome.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (isFirstTimeClicked) { normalincometable.setVisibility(View.VISIBLE); } else { normalincometable.setVisibility(View.GONE); } isFirstTimeClicked=!isFirstTimeClicked; }); }

并且在您的代码中,您已声明int x = 0;里面的onClick方法。因此,当调用onClick时,它将为“ x”分配0。在课程范围外将其声明。


0
投票
button.setVisibility(View.VISIBLE == button.getVisibility() ? View.GONE:View.VISIBLE);

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.