国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ListView點擊展開布局出現重復布局的解決

2019-11-09 16:12:10
字體:
來源:轉載
供稿:網友

1.問題描述:

在使用ListView的時候,需求是點擊item中的按鈕,展開該item隱藏掉的布局。 但是點擊之后,當數據一屏展示不下的時候,不僅點擊的item的布局展開了,還有其它隱藏的布局也展開了。

2.問題分析:

參考: http://www.cnblogs.com/3dant/archive/2011/04/06/2007060.html 當顯示完一屏數據后,向上拉的時候第二屏數據中的控件實際是復用的上面的控件,若復用了顯示出來的控件,則會出現布局重復。

3.問題解決:

在每次點擊的時候,可以記錄下當前點擊的position,保存到List中。為控件賦值的時候,判斷一下當前位置是否在List當中,若有,則顯示,若沒有,則隱藏掉。

4.核心代碼:

@Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder viewHolder; Log.d("MyAdapter","getView==="+position+""); if(convertView == null){ convertView = View.inflate(mContext,R.layout.item_view,null); viewHolder = new ViewHolder(); viewHolder.tv_title = (TextView) convertView.findViewById(R.id.tv_title); viewHolder.btn_click = (Button) convertView.findViewById(R.id.btn_click); viewHolder.tv_content = (TextView) convertView.findViewById(R.id.tv_content); convertView.setTag(viewHolder); }else{ viewHolder = (ViewHolder) convertView.getTag(); } final Data data = mData.get(position); viewHolder.tv_title.setText(data.getTitle()); if(positionList.contains(position)){ viewHolder.tv_content.setVisibility(View.VISIBLE); viewHolder.tv_content.setText(data.getContent()); }else{ viewHolder.tv_content.setVisibility(View.GONE); } viewHolder.btn_click.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { viewHolder.tv_content.setVisibility(View.VISIBLE); viewHolder.tv_content.setText(data.getContent()); positionList.add(position); Log.d("MyAdapter","OnClick()" + position); } }); return convertView; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴安县| 慈溪市| 民乐县| 赤峰市| 乾安县| 杂多县| 西藏| 拉孜县| 兴化市| 尼玛县| 中牟县| 阿巴嘎旗| 阿勒泰市| 拉孜县| 新晃| 东兰县| 榆社县| 西安市| 柞水县| 海原县| 石棉县| 虹口区| 灵武市| 青浦区| 甘肃省| 文成县| 桃源县| 南京市| 潜江市| 霞浦县| 曲阳县| 子洲县| 龙川县| 巴林右旗| 仁化县| 农安县| 鄂温| 新余市| 太谷县| 咸宁市| 东乡|