0

使用 BaseAdapter 而不回收(每次调用 getView(...) 时都会膨胀视图)我的动画和在我的列表项中滑动的功能工作正常(它也有从网络加载的图像)。

@Override
public View getView( final int position, View convertView, ViewGroup parent ) {

    View view = myViews.get( position );
    final Promotion i = getItem( position );
    view = a.getLayoutInflater().inflate( R.layout.butik_item, parent, false );
    /* More code */
    }
}

体验:性能差,滚动不流畅,动画+滑动有效。


将 BaseAdapter 与 Recycling 一起使用(带有视图的数组和带有 ViewHolder 的空检查)

Map<Integer, View> myViews = new HashMap<Integer, View>();

@Override public View getView( int position, View convertView, ViewGroup parent ) {
    final ViewHolder holder;
    View v = myViews.get( position );

    if ( v == null ) {
        v = a.getLayoutInflater().inflate( R.layout.butik_item, parent, false );
        /* More code */
    }

    v.setTag( position + "" );
    myViews.put( position, v );
}

体验:出色的性能和流畅的滚动,动画不起作用,滑动非常缓慢。


我能做些什么来解决这个问题?

4

0 回答 0