listview的某個item點擊顯示或隱藏的錯亂問題解決方法


看到自己寫的文章被越來越多的人閱讀真的很開心,付出的時間都是值得的,另外就是希望大家批評指正,如果做得不好希望被指出,對大家有幫助也希望被給予鼓勵。今天給大家分享listview的某個item點擊顯示或隱藏的錯亂問題解決方法,個人用在項目里面很實用。

在adapter中:

初始化:

 //記錄當前展開項的索引
private int expandPosition = -1;
在getView方法中寫:
viewHolder.down.setOnClickListener(new OnLvItemClickListener(position));
//如果點擊的是當前項,則將其展開,否則將其隱藏
if(expandPosition == position){
viewHolder.invisible.setVisibility(View.VISIBLE);
}else{
viewHolder.invisible.setVisibility(View.GONE);
}
down是我在item中寫的一個按鈕,invisible是我要隱藏的那部分。

class OnLvItemClickListener implements View.OnClickListener {
private int position;

public OnLvItemClickListener(int position) {
super();
this.position = position;
}
@Override
public void onClick(View v) {
//如果當前項為展開,則將其置為-1,目的是為了讓其隱藏,如果當前項為隱藏,則將當前位置設置給全局變量,讓其展開,這也就是借助於中間變量實現布局的展開與隱藏
if(expandPosition == position){
expandPosition = -1;
}else{
expandPosition = position;
}
notifyDataSetChanged();
}

}




注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com