自定义适配器没有Id值
问题描述:
嗨即时试图从baseadapter
填充listview
和当在listview
上选择时传播错误的id
。自定义适配器没有Id值
这里是我的适配器
public class MyCustomBaseAdapter extends BaseAdapter {
private static ArrayList<Custom> AList;
private LayoutInflater inflat;
public MyCustomBaseAdapter(Context context, ArrayList<Custom> results) {
AList = results;
inflat = LayoutInflater.from(context);
}
public int getCount() {
return AList.size();
}
public Object getItem(int position) {
return AList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inflat.inflate(R.layout.suspect_list, null);
holder = new ViewHolder();
holder.txtName = (TextView) convertView.findViewById(R.id.suspect_name);
holder.txtSex = (TextView) convertView.findViewById(R.id.suspect_sex);
holder.txtId = (TextView) convertView.findViewById(R.id.suspect_id);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtName.setText(AList.get(position).getName());
holder.txtSex.setText(AList.get(position).getSex());
holder.txtId.setText(AList.get(position).getID());
return convertView;
}
static class ViewHolder {
TextView txtName;
TextView txtSex;
TextView txtId;
}
}
任何帮助,您可以提供将是巨大的,请
答
你getItemId()应该返回ID 更多的代码可以是availble的。 所以应该像这个 - >
public long getItemId(int position) {
return AList.get(position).getID();
}
假设ID是漫长的,如果不是,然后使用 - >Long.parseLong(AList.get(position).getID());
的'ID'是一个字符串... – user2340360 2013-05-05 22:16:40
它显示错误用户界面右侧的ID?这个东西不行 - > 'holder.txtId.setText – 2013-05-05 22:27:14
其余的字段填充正确的数据,所以这意味着这不是问题..或者我错了 – user2340360 2013-05-05 22:30:58