private LayoutInflater mInflater;
private List<String> ips;
private EditText ipconfig;
public ArrayList<Map<String, Object>> ipData;
public IpsAdapter(Context context,List<String> ips,EditText ipconfig) {
this.mInflater = LayoutInflater.from(context);
this.ipconfig = ipconfig;
this.ips = ips;
}
@Override
public int getCount() {
return ips.size();
}
@Override
public Object getItem(int position) {
return ips.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder=new ViewHolder();
convertView = mInflater.inflate(R.layout.ip_info, null);
holder.title = (TextView)convertView.findViewById(R.id.text_ip);
holder.viewBtn = (Button)convertView.findViewById(R.id.button_submit);
convertView.setTag(holder);
}else {
holder = (ViewHolder)convertView.getTag();
}
holder.title.setText(ips.get(position));
holder.viewBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ipconfig.setText(ips.get(position)) ;
}
});
return convertView;
}
public ArrayList<Map<String, Object>> getIpData() {
return ipData;
}
public void setIpData(ArrayList<Map<String, Object>> ipData) {
if (CommonUtil.isNotEmpty(ipData))
{
ips = new ArrayList<String>();
for (int i = 0; i < ipData.size(); i++) {
Map<String, Object> map = ipData.get(i);
Set<String> set = map.keySet();
for (String string : set) {
ips.add((String) map.get(string));
}
}
}
this.ipData = ipData;
}
}
AsyncTask<Integer, Integer, List<String>> task = new AsyncTask<Integer, Integer, List<String>>()
{
@Override
protected List<String> doInBackground(Integer... params)
{
ObtainIps obtainIps = new ObtainIps(IPConfig.this);
List<String> ips = obtainIps.startObtainIps();
return ips;
}
@Override
protected void onPostExecute(List<String> result)
{
if (CommonUtil.isNotEmpty(result))
{
textView1.setText("请选择想要连接的IP...");
IpsAdapter adapter = new IpsAdapter(IPConfig.this, result, ip_text);
listView.setAdapter(adapter);
Toast.makeText(IPConfig.this, result.get(0), Toast.LENGTH_LONG).show();
}
super.onPostExecute(result);
}
};
task.execute(0);