Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

에이치의 모바일 앱 개발

CustomAdapter-ViewHolder 본문

Android/Android 개발 소스

CustomAdapter-ViewHolder

로이누리 2017. 12. 23. 01:48
/**
* Created by lsh on 2016-08-17.
* version 1.0.1
*/
public class CustomAdapter extends BaseAdapter {

private Context context;
private int resourceId;
private ArrayList<DBColumn> arrayList;
private LayoutInflater inflater;

private class ViewHolder {
LinearLayout layout;
TextView bssid;
TextView latitude;
TextView longitude;
TextView ssid;
TextView level;
}

private void findView(View convertView, ViewHolder viewHolder) {
viewHolder.layout = (LinearLayout) convertView.findViewById(R.id.layout_wifi_listparent);
viewHolder.bssid = (TextView) convertView.findViewById(R.id.txt_bssid);
viewHolder.latitude = (TextView) convertView.findViewById(R.id.txt_latitude);
viewHolder.longitude = (TextView) convertView.findViewById(R.id.txt_longitude);
viewHolder.ssid = (TextView) convertView.findViewById(R.id.txt_ssid);
viewHolder.level = (TextView) convertView.findViewById(R.id.txt_level);
}

private void listItem(int position, ViewHolder viewHolder) {
viewHolder.bssid.setText(arrayList.get(position).getBssid());
viewHolder.latitude.setText(String.valueOf(arrayList.get(position).getLatitude()));
viewHolder.longitude.setText(String.valueOf(arrayList.get(position).getLongitude()));
viewHolder.ssid.setText(arrayList.get(position).getSsid());
viewHolder.level.setText(String.valueOf(arrayList.get(position).getLevel()));
}

/**
* @param context : 컨텍스트
* @param resourceId : 보여줄 레이아웃
* @param arrayList : 보여줄 데이터를 갖고있는 배열
*/
public CustomAdapter(Context context, int resourceId, ArrayList<DBColumn> arrayList) {
this.context = context;
this.resourceId = resourceId;
this.arrayList = arrayList;
}

@Override
public int getCount() {
return arrayList.size();
}

@Override
public Object getItem(int position) {
return arrayList.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(resourceId, parent, false);

viewHolder = new ViewHolder();
findView(convertView, viewHolder);

convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}

listItem(position ,viewHolder);

return convertView;
}
}

 

Comments