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);
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();
}
};