ListView的使用

来源:互联网 发布:openwrt防网络尖兵 编辑:程序博客网 时间:2024/06/05 16:42

1、MyAdapter 类

private class MyAdapter extends BaseAdapter{    @Override    public int getCount() {        return Localmsg.size();    }    @Override    public Object getItem(int position) {        return Localmsg.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        System.out.println("getView");        MyAdapter.ViewHolder holder = null;        if(convertView == null){            holder = new MyAdapter1.ViewHolder();            LayoutInflater inflater = LayoutInflater.from(XdChat.this);            //R.layout.item_chat:listview显示的布局文件            convertView = inflater.inflate(R.layout.item_chat, null);            holder.my_head = (ImageView) convertView.findViewById(R.id.my_head);           //....所有的控件            convertView.setTag(holder);        }else{            holder = (MyAdapter.ViewHolder) convertView.getTag();        }        LocalMessageXd chat = Localmsg.get(position);        User user = BmobUser.getCurrentUser(User.class);        if(chat.getName().equals(user.getUsername())){            //对控件设置内容            holder.my_name.setText(chat.getName());            //....        }        return convertView;    }    class ViewHolder{    //布局文件的所有控件        TextView my_name;        //....    }}

2、定义

private ListView lvList;lvList = (ListView) findViewById(R.id.lv_list);MyAdapter myAdapter = new MyAdapter();lvList.setAdapter(myAdapter);

3、常用操作

//将listview定位到最后一条数据lvList.setSelection(lvList.FOCUS_DOWN);//通知myAdapter改变了myAdapter.notifyDataSetChanged();

4、设置监听

private OnItemClickListener mDeviceClickListener = new OnItemClickListener() {        public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {             AlertDialog.Builder StopDialog =new AlertDialog.Builder(MainActivity.this);//定义一个弹出框对象             StopDialog.setTitle("哈哈哈");//标题                       StopDialog.setMessage(item.message);             StopDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {               public void onClick(DialogInterface dialog, int which) {               }               });             StopDialog.setNegativeButton("取消",new DialogInterface.OnClickListener() {                                        public void onClick(DialogInterface dialog, int which) {                   }             });             StopDialog.show();                                    }    };  
原创粉丝点击