listview的简单用法

MainActivity.java

@Override

public void onCreate(Bundle savedInstanceState) {

    listAdapter = new ListAdapter(getApplicationContext(), listview, listData);

    listview.setAdapter(listAdapter);

}


listview.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // TODO Auto-generated method stub
listAdapter.setSelectItem(position);
listAdapter.notifyDataSetInvalidated();
TextView c = (TextView) view.findViewById(R.id.blt_mac);
macAddress = c.getText().toString();
Log.i("huzh", macAddress);
}

});

ListAdapter.java

public class ListAdapter extends BaseAdapter {


private ListView listView;
private LayoutInflater inflater;
private Context context;
private List<HashMap<String, String>> listData;
private int selectItem = -1;


public ListAdapter(Context context, ListView listView, List<HashMap<String, String>> listData) {
super();
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
this.listView = listView;
this.context = context;
this.listData = listData;
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return listData.size();
}


@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return listData.get(position);
}


@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder mHolder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item, null);
mHolder = new Holder();
mHolder.name_view = (TextView) convertView.findViewById(R.id.blt_name);
mHolder.mac_view = (TextView) convertView.findViewById(R.id.blt_mac);
convertView.setTag(mHolder);


} else {
mHolder = (Holder) convertView.getTag();
}


HashMap<String, String> hsMap = (HashMap<String, String>) getItem(position);
mHolder.name_view.setText(hsMap.get("name"));
mHolder.mac_view.setText(hsMap.get("mac"));


if (position == selectItem) {
convertView.setBackgroundColor(Color.rgb(230, 230, 230));
} else {
convertView.setBackgroundColor(Color.TRANSPARENT);
}


return convertView;
}


class Holder {
TextView name_view;
TextView mac_view;
}


public void setSelectItem(int selectItem) {
this.selectItem = selectItem;
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值