国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 察雅县| 沂南县| 沙坪坝区| 金乡县| 喀什市| 景洪市| 娱乐| 县级市| 广河县| 南康市| 略阳县| 蒲江县| 吕梁市| 南昌县| 海南省| 镇坪县| 南漳县| 柘城县| 昌吉市| 宣化县| 平乡县| 南丰县| 庆城县| 开封县| 玉龙| 霞浦县| 揭阳市| 交城县| 辽源市| 丰宁| 吴桥县| 绥芬河市| 娄底市| 六盘水市| 南康市| 陵水| 安陆市| 富宁县| 桦甸市| 宣恩县| 栾川县|