滚动列表视图时,列表视图中项目的位置正在更改?

Android Develeoper

我的应用程序有一个listview,listview的行由imageView和Textview组成。当我上下滑动列表视图时,我遇到了有关图像重新下载和其他数据的问题。

Listview中有一些行。当我滚动列表视图时,列表项的所有数据都会更改。因此,它不会显示需要显示的值或行。

我的适配器代码很喜欢...

public class CartAdapter extends BaseAdapter {

Context context;
public ArrayList<CartList> arr_cart;

private static LayoutInflater inflater = null;

public CartAdapter(Context context, ArrayList<CartList> arr_cart) {
    // TODO Auto-generated constructor stub
    this.context = context;
    this.arr_cart = arr_cart;
    inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

private static class ViewHolder {
    private static TextView tv_Title, tv_Price, tv_SellingPrice,
            tv_ShippingCharge, tv_TotalPrice;
    private static ImageView iv_Cancel, iv_ProductImage;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return arr_cart.size();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

@SuppressWarnings("static-access")
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ViewHolder holder;
    double dNationalShippingCost, dInternationalShippingCost, dSellingPrice, TotalCost;
    String totalString = null, sShippingCost = null, sNationalShippingCost, sInternationalShippingCost, sSellingPrice;

    if (convertView == null) {
        holder = new ViewHolder();
        convertView = inflater.inflate(R.layout.cart_item, null);

        holder.iv_ProductImage = (ImageView) convertView
                .findViewById(R.id.iv_ProductImage);
        holder.tv_Title = (TextView) convertView
                .findViewById(R.id.tv_Title);
        holder.tv_Price = (TextView) convertView
                .findViewById(R.id.tv_Price);
        holder.tv_SellingPrice = (TextView) convertView
                .findViewById(R.id.tv_SellingPrice);
        holder.tv_ShippingCharge = (TextView) convertView
                .findViewById(R.id.tv_ShippingCharge);
        holder.tv_TotalPrice = (TextView) convertView
                .findViewById(R.id.tv_TotalPrice);
        holder.iv_Cancel = (ImageView) convertView
                .findViewById(R.id.iv_Cancel);
        holder.iv_Cancel.setTag(position);
        holder.iv_Cancel.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(context, "Delete button Clicked",
                        Toast.LENGTH_LONG).show();
                // Integer index = (Integer) convertView.getTag();
                arr_cart.remove(arr_cart.get(position));
                notifyDataSetChanged();
            }
        });

        convertView.setTag(holder);
    } else {
        // the getTag returns the viewHolder object set as a tag to the view
        holder = (ViewHolder) convertView.getTag();
    }

    String[] image = arr_cart.get(position).getImage().split(",");
    String firstImage = image[0];
    Log.e("first Image", "" + firstImage);
    if (firstImage.equals("")) {

    } else {
        Picasso.with(this.context).load(firstImage)
                .into(holder.iv_ProductImage);
    }
    holder.tv_Title.setText(arr_cart.get(position).getAddTitle());
    holder.tv_Price.setText(arr_cart.get(position).getAddPrice());
    holder.tv_SellingPrice.setText(arr_cart.get(position)
            .getAddSellingPrice());

    try {
        // get cost in String
        sSellingPrice = arr_cart.get(position).getAddSellingPrice();
        sNationalShippingCost = arr_cart.get(position)
                .getAddNationalShippingCharge();
        sInternationalShippingCost = arr_cart.get(position)
                .getAddWorldShippingCharge();

        // convert in to double
        dSellingPrice = Double.parseDouble(sSellingPrice);
        dNationalShippingCost = Double.parseDouble(sNationalShippingCost);
        dInternationalShippingCost = Double
                .parseDouble(sInternationalShippingCost);

        // total Shipping Cost
        // Log.e("national chage in double", "" + dNationalShippingCost);
        // Log.e("international chage in double", ""
        // + dInternationalShippingCost);

        TotalCost = dInternationalShippingCost + dSellingPrice;
        // Log.e("total in double", "" + TotalCost);

        // convert in to string
        sShippingCost = Double.toString(dInternationalShippingCost);
        totalString = Double.toString(TotalCost);

    } catch (NumberFormatException e) {
    }

    holder.tv_ShippingCharge.setText(sShippingCost);
    // Log.e("Total shhiping chager str", totalString);
    holder.tv_TotalPrice.setText(totalString);

    return convertView;
}
卡特耶克

删除尝试替换static说明符ViewHolder

private static class ViewHolder {
    private static TextView tv_Title, tv_Price, tv_SellingPrice,
            tv_ShippingCharge, tv_TotalPrice;
    private static ImageView iv_Cancel, iv_ProductImage;
}

private static class ViewHolder {
    private TextView tv_Title, tv_Price, tv_SellingPrice,
            tv_ShippingCharge, tv_TotalPrice;
    private ImageView iv_Cancel, iv_ProductImage;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我滚动列表视图时,列表视图中项目的位置正在更改

来自分类Dev

如何在长的自定义列表视图中滚动时跟踪项目的位置

来自分类Dev

列表视图在滚动时更改ImageView的位置

来自分类Dev

更改列表视图中的确切滚动位置

来自分类Dev

单击时在列表视图中保持滚动位置

来自分类Dev

滚动时列表视图中的项目顺序错误

来自分类Dev

列表视图中项目的最大高度?

来自分类Dev

在android中滚动列表视图时,文本值会在自定义列表视图中更改?

来自分类Dev

滚动Android时列表视图项会更改位置?

来自分类Dev

在列表视图中滚动时图像消失

来自分类Dev

更改列表视图中所选项目的图像视图

来自分类Dev

Xamarin 列表视图在滚动视图中时未显示完整项目

来自分类Dev

滚动视图中列表视图的滚动功能

来自分类Dev

错误根据位置或项目在列表视图中添加视图

来自分类Dev

滚动时我的文本视图在列表视图中消失

来自分类Dev

android中滚动后如何固定项目在列表视图中的位置

来自分类Dev

单击列表视图中的项目时显示视图

来自分类Dev

在列表视图中更改所选项目的背景颜色和字体颜色

来自分类Dev

更改出现在列表视图中的项目的颜色

来自分类Dev

如何在JavaFX中动态更改列表视图中项目的背景

来自分类Dev

根据数据库中的值更改列表视图中特定项目的颜色

来自分类Dev

如何更改列表视图中所选项目的背景颜色

来自分类Dev

在 Android 中滚动时更改 RecyclerView 中项目的视图位置

来自分类Dev

获取列表视图中选中项目的ID

来自分类Dev

单击列表视图中每个项目的侦听器

来自分类Dev

如何自动更正列表视图中的滚动位置?(扑)

来自分类Dev

滚动以在android列表视图中添加更多项目

来自分类Dev

滚动或添加和列表视图中的项目时按钮的文字消失,Android

来自分类Dev

识别列表视图中的项目

Related 相关文章

  1. 1

    当我滚动列表视图时,列表视图中项目的位置正在更改

  2. 2

    如何在长的自定义列表视图中滚动时跟踪项目的位置

  3. 3

    列表视图在滚动时更改ImageView的位置

  4. 4

    更改列表视图中的确切滚动位置

  5. 5

    单击时在列表视图中保持滚动位置

  6. 6

    滚动时列表视图中的项目顺序错误

  7. 7

    列表视图中项目的最大高度?

  8. 8

    在android中滚动列表视图时,文本值会在自定义列表视图中更改?

  9. 9

    滚动Android时列表视图项会更改位置?

  10. 10

    在列表视图中滚动时图像消失

  11. 11

    更改列表视图中所选项目的图像视图

  12. 12

    Xamarin 列表视图在滚动视图中时未显示完整项目

  13. 13

    滚动视图中列表视图的滚动功能

  14. 14

    错误根据位置或项目在列表视图中添加视图

  15. 15

    滚动时我的文本视图在列表视图中消失

  16. 16

    android中滚动后如何固定项目在列表视图中的位置

  17. 17

    单击列表视图中的项目时显示视图

  18. 18

    在列表视图中更改所选项目的背景颜色和字体颜色

  19. 19

    更改出现在列表视图中的项目的颜色

  20. 20

    如何在JavaFX中动态更改列表视图中项目的背景

  21. 21

    根据数据库中的值更改列表视图中特定项目的颜色

  22. 22

    如何更改列表视图中所选项目的背景颜色

  23. 23

    在 Android 中滚动时更改 RecyclerView 中项目的视图位置

  24. 24

    获取列表视图中选中项目的ID

  25. 25

    单击列表视图中每个项目的侦听器

  26. 26

    如何自动更正列表视图中的滚动位置?(扑)

  27. 27

    滚动以在android列表视图中添加更多项目

  28. 28

    滚动或添加和列表视图中的项目时按钮的文字消失,Android

  29. 29

    识别列表视图中的项目

热门标签

归档