展会信息港展会大全

减少重复代码的 ViewHolder
来源:互联网   发布日期:2016-01-14 12:09:56   浏览:2635次  

导读:public class ViewHolder { // I added a generic return type to reduce the casting noise in client code @SuppressWarnings(unchecked) public static T extends View T get(View view, int id) { SparseArrayView viewHolder = (SparseArrayView) view....

public class ViewHolder {

// I added a generic return type to reduce the casting noise in client code

@SuppressWarnings("unchecked")

public static <T extends View> T get(View view, int id) {

SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();

if (viewHolder == null) {

viewHolder = new SparseArray<View>();

view.setTag(viewHolder);

}

View childView = viewHolder.get(id);

if (childView == null) {

childView = view.findViewById(id);

viewHolder.put(id, childView);

}

return (T) childView;

}

}

public class GymListViewAdapter extends BaseAdapter {

// ...

public View getView(int position, View convertView, ViewGroup parent) {

TextView gymname = ViewHolder.get(convertView,

R.id.***);

}

// ...

}

赞助本站

人工智能实验室

相关热词: android开发 android教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港