package com.jacky.compatible.launcher.adapter;
import android.bluetooth.BluetoothClass;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.jacky.launcher.R;
import java.util.List;
import java.util.Map;
/**
* Bluetooth Adapter
*
* @author jacky
* @version v1.0
* @since 2016.4.1
*/
public class MyBluetoothAdapter extends BaseAdapter {
private final List<Map<String, Object>> list;
private final Context context;
private Holder holder;
public MyBluetoothAdapter(Context context, List<Map<String, Object>> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
holder = new Holder();
convertView = LayoutInflater.from(context).inflate(
R.layout.item_bluetooth, null);
holder.name = (TextView) convertView
.findViewById(R.id.item_bluetooth_name);
holder.icon = (ImageView) convertView
.findViewById(R.id.item_bluetooth_iv);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
Map<String, Object> map = list.get(position);
String name = (String) map.get("name");
if (name != null) {
holder.name.setText((String) map.get("name"));
}
int type = (Integer) map.get("type");
//根据设备类型 设置相应图片
if (type > BluetoothClass.Device.PHONE_UNCATEGORIZED && type < BluetoothClass.Device.PHONE_ISDN) {
holder.icon.setBackgroundResource(R.drawable.phone);
} else if (type > BluetoothClass.Device.COMPUTER_UNCATEGORIZED && type < BluetoothClass.Device.COMPUTER_WEARABLE) {
holder.icon.setBackgroundResource(R.drawable.pc);
} else if (type > BluetoothClass.Device.TOY_UNCATEGORIZED && type < BluetoothClass.Device.TOY_GAME) {
holder.icon.setBackgroundResource(R.drawable.handle);
}
return convertView;
}
private class Holder {
private TextView name;
private ImageView icon;
}
}