package com.rockchip.alexa.jacky.adapter; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Color; import android.net.wifi.WifiManager; 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.rockchip.alexa.jacky.R; import com.rockchip.alexa.jacky.info.WifiInfo; import java.util.List; /** * Created by Administrator on 2017/3/14. */ public class WifiListAdapter extends BaseAdapter { private LayoutInflater inflater; private List list; private int level; public WifiListAdapter(Context context, List list){ this.inflater=LayoutInflater.from(context); this.list=list; } public List getList() { return list; } public void setList(List scanResult) { this.list = scanResult; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @SuppressLint({ "ViewHolder", "InflateParams" }) @Override public View getView(int position, View convertView, ViewGroup parent) { View view=inflater.inflate(R.layout.wifi_listitem, null); WifiInfo scanResult = list.get(position); TextView wifi_ssid=(TextView) view.findViewById(R.id.ssid); ImageView wifi_level=(ImageView) view.findViewById(R.id.wifi_level); wifi_ssid.setText(scanResult.getSsid()); if (list.get(position).isConnecting()) { wifi_ssid.setTextColor(Color.BLUE); } level= WifiManager.calculateSignalLevel(Integer.parseInt(scanResult.getSignalLevel()), 5); if(scanResult.getFlags().contains("WEP")||scanResult.getFlags().contains("PSK")|| scanResult.getFlags().contains("EAP")){ wifi_level.setImageResource(R.drawable.wifi_signal_lock); }else{ wifi_level.setImageResource(R.drawable.wifi_signal_open); } wifi_level.setImageLevel(level); return view; } }