Android getItemAtPosition()未在listview中返回值

Android getItemAtPosition()未在listview中返回值,android,listview,adapter,Android,Listview,Adapter,我创建了一个自定义的基本适配器类,用图像和文本填充列表视图。 班级代码如下: public class ViewAdapter extends BaseAdapter { private Activity activity; private String[] data; private static LayoutInflater inflater=null; public ImageLoader imageLoader; private ArrayList<String> ite

我创建了一个自定义的基本适配器类,用图像和文本填充列表视图。 班级代码如下:

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;    
}
公共类ViewAdapter扩展了BaseAdapter{
私人活动;
私有字符串[]数据;
专用静态充气机=空;
公共图像加载器;
私有ArrayList项;
公共ViewAdapter(活动a、ArrayList项、字符串[]d){
这个项目=项目;
活动=a;
数据=d;
充气器=(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
imageLoader=新的imageLoader(activity.getApplicationContext());
}
public int getCount(){
返回数据长度;
}
公共对象getItem(int位置){
返回位置;
}
公共长getItemId(int位置){
返回位置;
}
公共静态类视图持有者{
公共文本查看文本;
公众形象;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
视窗座;
if(convertView==null){
vi=充气机充气(右布局剖面图,空);
holder=新的ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.txtLogonName);;
holder.image=(ImageView)vi.findViewById(R.id.imgBrandLogo);
vi.setTag(支架);
}
其他的
holder=(ViewHolder)vi.getTag();
holder.text.setText(items.get(position));
holder.image.setTag(数据[位置]);
imageLoader.DisplayImage(数据[位置]、活动、持有者.image);
返回vi;
}
}

到目前为止,列表工作正常,但当我使用下面的代码获取特定位置的项的值时,它返回列表视图的项位置,而不是值

i、 我使用的代码是

public void onItemClick(AdapterView<?> parent, View V, int position, long arg3) {

                System.out.println("****SELECTED VALUES " Parent.getItemAtPosition(position));

    });
public void onItemClick(AdapterView父视图、视图V、整型位置、长arg3){
System.out.println(“****所选值”Parent.getItemAtPosition(position));
});
即使使用getItemIdAtPosition(position)也会返回该值


在这方面需要紧急帮助,适配器类中是否有需要更改的内容???

在您编写的适配器中:

public Object getItem(int position) {
    return position;
}

由于您将位置作为项返回,因此这是正常工作的。

我将方法getItem(int position)更改为

现在我称之为:

System.out.println("****SELECTED VALUES " + secAdap.getItem(position));

因此,它现在工作正常。

你是个救命的人!自从我的第一个android应用程序发布两天以来,我一直在努力解决这个问题!
System.out.println("****SELECTED VALUES " + secAdap.getItem(position));