在每个单元格中都有视图翻转器的Listview滚动不平滑



我正在开发每个单元格中都包含viewflipper的listview。现在,viewflipper倾向于每2秒翻转一次图像。在我的适配器中,我使用了支架的概念,但在每个支架内都有一个视图翻转器,它在其中添加了动态图像视图。我确信这是不允许列表视图平滑滚动的原因。这是我用来在支架内设置图像的功能:

viewflipper.removeAllViews();
LinearLayout.LayoutParams flip_pams= new LinearLayout.LayoutParams((int)(width*0.18), (int)(width*0.18));
if(!TextUtils.isEmpty(pics)){
    String[] picarray= pics.split(", ");
    for(String pic: picarray){
        if(!dp.equals("")){
            ImageView image = new ImageView(con);
            image.setLayoutParams(flip_pams);
            imageLoader.displayImage(pic, image, options);
            viewflipper.addView(image);
        }
    }
    if(picarray.length>1){
        viewflipper.startFlipping();
    }
}

我能做些什么来改进它?或者有什么替代Viewflipper的方法吗?P.S:我知道我们不应该在listview的holder中设置layoutparams,其次添加动态图像视图也是一团糟。但我找不到任何其他选择。

试试这种方法;

public View getView(int position, View convertView, ViewGroup parent) {
final ViewFlipper viewflipper;
if (convertView == null) {
    convertView = mLayoutInflater.inflate(mLayout, null);
    viewHolder = new ViewHolder();
    viewHolder.flipper = (ViewFlipper) convertView.findViewById(R.id.viewConfFlipper1);
    viewHolder.flipper.setDisplayedChild(0);
    viewHolder.v2FieldName = (TextView) convertView.findViewById(R.id.tvLongName);
    viewHolder.button01 = (ImageButton) convertView.findViewById(R.id.imageButton1);    
    convertView.setTag(viewHolder);
} else {
    viewHolder = (ViewHolder) convertView.getTag();
    viewHolder.flipper.setDisplayedChild(0);
}

viewflipper = (ViewFlipper) convertView.findViewById(R.id.viewConfFlipper1);
viewHolder.v2FieldName.setText(items.get(position).get("name"));        
viewHolder.button01.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        viewflipper.showNext();
    }
});
return convertView;
}

最新更新