listView с индикатором выполнения для каждого элемента?

У меня есть listView, и для каждого элемента я добавил индикатор выполнения, который должен исчезнуть после загрузки изображения. Но я не мог найти способ сделать это. я пытался заставить его исчезнуть в классе getView, но он исчезает сразу, а не после загрузки изображения.

Например, при добавлении некоторых представлений в scrollView для DoInBackground класса AsyncTask я мог загрузить изображение, а затем установить изображение в onPostExecute, а затем удалить progressBar. Это прекрасно работает. Я хочу сделать что-то подобное для listView. Кто-нибудь может мне помочь?

Я не знаю, ясно ли я выразился, но могу подытожить, что у меня есть list_item.xml, содержащий изображение и индикатор выполнения. И я хочу, чтобы эти индикаторы выполнения исчезали после загрузки и установки изображений.

Спасибо за помощь.

Вот мой класс адаптера:

class myListAdapter extends ArrayAdapter<Items> {

    private ArrayList<Items> items;
    private Context ctx;

    public myListAdapter(Context context, int textViewResourceId,
            ArrayList<Items> items) {
        super(context, textViewResourceId, items);
        this.ctx = context;
        this.items = items;
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;

        if (v == null) {
            LayoutInflater inf = (LayoutInflater) ctx
                    .getSystemService(LAYOUT_INFLATER_SERVICE);
            v = inf.inflate(R.layout.main_list_item, null);
        }

        Items index = listContents.get(position);

        if (index != null) {

            ImageView img = (ImageView) v.findViewById(R.id.listImage);
            TextView title = (TextView) v.findViewById(R.id.listTopText);
            TextView content = (TextView) v.findViewById(R.id.listDownText);

            if (title != null)
                title.setText(index.getTitle());

            if (content != null)
                content.setText(index.getContent());

            if (img != null) 
                img.setImageBitmap(index.getImageBitmap());
            ((ProgressBar) v.findViewById(R.id.listItemProgressBar)).setVisibility(View.GONE);

        }

        return v;
    }
}

Итак, в этой строке ниже я убираю индикатор выполнения, но он должен исчезнуть после загрузки и установки изображения... Но в добавленных элементах списка нет индикаторов выполнения, это моя проблема ??

 ((ProgressBar) v.findViewById(R.id.listItemProgressBar)).setVisibility(View.GONE);
5
задан yahya 11 May 2012 в 23:28
поделиться