I believe you have a case of view reusing.

The ArrayAdapter will reuse row views whenever possible to preserve
memory. So if you set a Bitmap to visible that might be what carries
it as visible on usually the row X+5. So that you would need to reset
everything on the view that was dynamically changed in the GetView.

For example :

@Override
    public View getView(int position, View convertView, ViewGroup
parent) {
                View v = convertView;
        if (v == null) {
            LayoutInflater vi =
(LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.list_view_row, null);
        }
        TextView label = (TextView) v.findViewById(R.id.label);
        ImageView spinner = (ImageView) v.findViewById(R.id.spinner);
        MyContainer item = (MyContainer) items.get(position);

        label.setText(item.getText());
        spinner.setVisibility(View.INVISIBLE);

        if (item.isLoading()) {
                label.setText("***"+item.getText()+"***");
                spinner = (ImageView)v.findViewById(R.id.spinner);
                spinner.setVisibility(View.VISIBLE);
                Animation spinnerAnimation =
                AnimationUtils.loadAnimation(getContext(),
R.anim.rotate);
                spinner.startAnimation(spinnerAnimation);
        }

        return v;
        }

Not sure though.

Good luck.

Yahel

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to