Android 自定义adapter(二)

来源:互联网 发布:编程更改组策略 编辑:程序博客网 时间:2024/05/19 00:56

创建适配器

public class MyAdapter extends BaseAdapter{    private LayoutInflater mInflater;    private List<String> items=new ArrayList<String>();    private Context mContext;    public MyAdapter(Context context, List<String> items) {        this.mContext=context;        this.items = items;        this.mInflater = LayoutInflater.from(context);    }    @Override    public int getCount() {        return items.size();    }    @Override    public String getItem(int position) {        return items.get(position);    }    @Override    public long getItemId(int position) {        return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder viewHolder=null;        if(convertView==null){            viewHolder=new ViewHolder();            convertView = mInflater.inflate(R.layout.content_my, null);            viewHolder.tv_name = (TextView) convertView.findViewById(R.id.content_name);            viewHolder.tv_age = (TextView) convertView.findViewById(R.id.content_age);            convertView.setTag(viewHolder);        }else{            viewHolder = (ViewHolder) convertView.getTag();        }         viewHolder.tv_age.setText(items.get(position).toString());         viewHolder.tv_name.setText(items.get(position).toString());        return convertView;    }    class ViewHolder{        TextView tv_age;        TextView tv_name;    }

给ListView设置适配器

private ListView listView;    private MyAdapter adapter;    private List<String> items;    String json= "{\"name\":\"某某\",\"age\":\"12\",\"likes\":[{\"key\":\"喜好\",\"value\":\"足球\"},{\"key\":\"爱好\",\"value\":\"篮球\"}]}";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView=(ListView) findViewById(R.id.main_listview);        fillArray();        adapter = new MyAdapter(this,items);        listView.setAdapter(adapter);    }    private void fillArray() {        items = new ArrayList<String>();        try {            JSONObject jsonObject2 =new JSONObject(json);            items.add(jsonObject2.getString("name"));            items.add(jsonObject2.getString("age"));        } catch (JSONException e) {            e.printStackTrace();        }    }
0 0