LayerDrawable уходит с экрана в ListView и не рисует, когда я прокручиваю ListView обратно к нему

У меня есть ListView, и когда мое аудио приостановлено, я рисую LayerDrawable, чтобы показать прогресс того, сколько было воспроизведено. Проблема в том, что когда я убираю этот элемент ListView с экрана и возвращаю его обратно - я не вижу там никакого изображения.

Это часть адаптера:

 public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
       allView=convertView;
            if (view == null) { 
     view = lInflater.inflate(R.layout.item, parent, false);               
              }
............
  switch (whatToDo) {
      //here's my normal state of the Image
      case 0 :

          ((ImageView) view.findViewById(R.id.ivImage)).setImageResource(p.imagestatus);
          break;
//here's my Paused state of the Image - what I need to stay on the screen
      case 1: 
    Log.e ("MyLog","paused! imagestatus="+p.imagestatus);
            //Drawing progress
          LayerDrawable ld= (LayerDrawable) ctx.getResources().getDrawable(R.drawable.onpause);
            ClipDrawable cd=(ClipDrawable) ld.findDrawableByLayerId(R.id.clip_pause);
            p.imagestatus=-p.imagestatus;

            cd.setLevel(4500+(30*p.imagestatus));
            ((ImageView) view.findViewById(R.id.ivImage)).setImageDrawable(ld);

        break;
...
        return view;
      }

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

0 ответов

Другие вопросы по тегам