getItemAtPosition()没有在列表视图中返回值
问题描述:
我已经创建了一个自定义Base Adapter类,用图像和文本填充列表视图。 类的代码如下:getItemAtPosition()没有在列表视图中返回值
public class ViewAdapter extends BaseAdapter {
private Activity activity;
private String[] data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
private ArrayList<String> items;
public ViewAdapter(Activity a, ArrayList<String> items,String[] d) {
this.items = items;
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public TextView text;
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.sectionview, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.txtLogoName);;
holder.image=(ImageView)vi.findViewById(R.id.imgBrandLogo);
vi.setTag(holder);
}
else
holder=(ViewHolder)vi.getTag();
holder.text.setText(items.get(position));
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
}
到目前为止列表中工作顺利,但是当我使用下面的代码来获得在特定poisition项目的价值,但不是值,它返回列表视图的项目位置。
即我使用的代码是
public void onItemClick(AdapterView<?> parent, View V, int position, long arg3) {
System.out.println("****SELECTED VALUES " Parent.getItemAtPosition(position));
});
即使使用getItemIdAtPosition(位置)也被返回的值。
对此需要紧急帮助,是否有任何事情需要在适配器类中进行更改?
答
我改变了方法的getItem(INT位置)
public Object getItem(int position) {
return items.get(position);
}
,现在我叫它为:
System.out.println("****SELECTED VALUES " + secAdap.getItem(position));
现在
,因此其工作的罚款。
答
在适配器的时候写道:
public Object getItem(int position) {
return position;
}
所以这个工作正常,因为你正在返回的位置的项目。
你是一个拯救生命的人!我一直试图解决这个问题,因为我的第一个Android应用程序的2天! – nLL 2012-04-08 16:33:57
你回答我愿意问的问题....谢谢:D – 2012-11-11 02:28:40