我正在使用ListView
,我有一个进度条列表。当我单击一个进度条时,它会显示隐藏的布局。但我的问题是,当我点击另一个进度条时,它不会隐藏以前的布局。
我希望当我滚动ListView时,显示布局(之前隐藏)不得隐藏。
我该如何实施?
public void onProgressClick(View view) {
if(rowItem.mSecretBoxLinear.getVisibility() == View.GONE)
rowItem.mSecretBoxLinear.setVisibility(View.VISIBLE);
else
rowItem.mSecretBoxLinear.setVisibility(View.GONE);
}
答案 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
函数中的这些数据。