android自定义视图
我在解析webservice响应后获得了一个列表。我已经使用BaseAdapter创建了一个customview。我面临的问题是无法使用我创建的customview将数据绑定到ListView。以下是我的自定义视图:android自定义视图,android,listview,android-listview,Android,Listview,Android Listview,我在解析webservice响应后获得了一个列表。我已经使用BaseAdapter创建了一个customview。我面临的问题是无法使用我创建的customview将数据绑定到ListView。以下是我的自定义视图: public class ItemListBaseAdapter extends BaseAdapter { int layoutResourceId; private static List<Item> itemDetailsarrayList
public class ItemListBaseAdapter extends BaseAdapter {
int layoutResourceId;
private static List<Item> itemDetailsarrayList;
private LayoutInflater l_Inflater;
public ItemListBaseAdapter(Context context, List<Item> results) {
itemDetailsarrayList = results;
l_Inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.row_layout, null);
holder = new ViewHolder();
holder.txtTitle = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtTitle.setText(itemDetailsarrayList.get(position).getCity_name());
return convertView;
}
static class ViewHolder {
TextView txtTitle;
}
}
将您的代码替换为以下代码:请参阅magic
public class ItemListBaseAdapter extends BaseAdapter {
int layoutResourceId;
private static List<Item> itemDetailsarrayList;
private LayoutInflater l_Inflater;
public ItemListBaseAdapter(Context context, List<Item> results) {
itemDetailsarrayList = results;
l_Inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemDetailsarrayList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return 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
ViewHolder holder;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.row_layout, null);
holder = new ViewHolder();
holder.txtTitle = (TextView) convertView.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtTitle.setText(itemDetailsarrayList.get(position).getCity_name());
return convertView;
}
static class ViewHolder {
TextView txtTitle;
}
}
请看一下getCount方法:
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemDetailsarrayList.size();
}
解决方案是返回适配器包含的完整项的计数。
您应该了解必须实现的任何方法!不仅让eclipse生成方法。那时候它们只是存根。如果您不知道在这些方法中要做什么,开发人员文档将为您提供一个非常好的视图。getCount始终返回0。那不好对不起,Q.C.先生,我想你可能是对的。你能告诉我我能换什么吗。因为我是android和网络消费的新手。我遇到了同样的问题,你在代码中做了哪些改变??请检查此答案。您能给我您的web服务URL吗?thnx的链接:。可以给我你的电子邮件id吗???。请检查我的堆栈配置文件:dhaval,这是我从webservice得到的回复。班加罗尔2钦奈3海得拉巴我已经分析过了。现在我在绑定到定制的listview时遇到了问题。
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemDetailsarrayList.size();
}