如何在进度条上显示隐藏布局点击?

时间:2014-01-31 11:28:31

标签: android listview progress-bar

我正在使用ListView,我有一个进度条列表。当我单击一个进度条时,它会显示隐藏的布局。但我的问题是,当我点击另一个进度条时,它不会隐藏以前的布局。 我希望当我滚动ListView时,显示布局(之前隐藏)不得隐藏。

我该如何实施?

public void onProgressClick(View view) {
     if(rowItem.mSecretBoxLinear.getVisibility() == View.GONE)
       rowItem.mSecretBoxLinear.setVisibility(View.VISIBLE);
    else
       rowItem.mSecretBoxLinear.setVisibility(View.GONE);
 }

1 个答案:

答案 0 :(得分:1)

滚动列表时会中断。但确切地回答你的问题,这是一个解决方案。

private View lastItem;
public void onProgressClick(View view) {
    if(lastItem != null) {
        lastItem.setVisibility(View.GONE);
    }
    if(rowItem.mSecretBoxLinear.getVisibility() == View.GONE) {
        rowItem.mSecretBoxLinear.setVisibility(View.VISIBLE);
        lastItem = rowItem.mSecretBoxLinear;
    }
    else {
        rowItem.mSecretBoxLinear.setVisibility(View.GONE);
        lastItem = null;
    }
}

<强> EXTRA 如果您不希望它在滚动时中断(并且您没有找到修复此滚动错误的方法),则可以保存与数据大小相同的布尔数组,以保存某个视图是否可见并使用您getView函数中的这些数据。