来自BaseAdapter的getView始终返回position = 0

时间:2014-10-25 10:21:05

标签: java android eclipse oop gridview

如主题中所述。 GridView有基本适配器实现,在调试过程中,我们可以看到onItemClick被调用了正确的值,如下所示:

enter image description here

...此调用之后的getView来自BaseAdapter实施,调用方式为:

enter image description here

这两者之间可能没有任何依赖关系,但无论如何点击GridView上的不同元素都会返回不同的位置值。

如果convertView != null,则convertView.getId();返回-1。

任何想法都赞赏。

修改

这是来自适配器:

  public GridImageAdapter(Context context, ArrayList<TileWidget> tileWidgetList) {
        this.context = context;
        this.tileWidgetList = tileWidgetList;
    }

    @Override
    public int getCount() {
        return tileWidgetList.size();
    }

    @Override
    public Object getItem(int position) {
        TileWidget tw = tileWidgetList.get(position);
        return tw;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

返回的值

public long getItemId(int position)

没问题。

修改

刚刚调试,在初始化时会返回良好的position值。所以zero'es只是onClick结果。

0 个答案:

没有答案