2014-01-31 84 views
0

我正在使用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

當列表滾動時,這會中斷。但完全回答你的問題,這是一個解決方案。

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 如果你不希望它在滾動打破(你沒有找到一個方法來解決這個滾動的bug),你可以保存你的數據相同大小的布爾數組保存某個視圖是否可見,並在您的getView函數中使用該數據。

+0

謝謝@謝里夫,它的工作原理......非常感謝......--) –

+0

它和我想要的一樣... :-) –