我有一个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;
}
});
}
通过此代码,我可以使表格在第一次单击时可见,但是在下次单击时它不会消失。有什么选择吗?
@Override
public void onClick(View v) {
if(normalincometable.getVisibility() == View.VISIBLE) {
normalincometable.setVisibility(View.GONE);
} else {
normalincometable.setVisibility(View.VISIBLE);
}
}
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;
}
});
}
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;
}
});
}
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。在课程范围外将其声明。
button.setVisibility(View.VISIBLE == button.getVisibility() ? View.GONE:View.VISIBLE);