android — ImageView onImageChangedListener Android" />

ImageView onImageChangedListener Android

Есть ли onImageChangedListener () в ImageView?

Мне нужно событие, когда изображение изменяется из ImageView.

10 голосов | спросил Naskov 29 42012vEurope/Moscow11bEurope/MoscowThu, 29 Nov 2012 12:59:28 +0400 2012, 12:59:28

2 ответа


0

Проверьте код просмотра изображения в grepcode. Вы не знаете, когда он будет изменен или перерисован. Это потому, что после того, как вы setImageDrawable (), просмотр изображений будет недействительным. В это время изображение НЕ ИЗМЕНЯЕТСЯ правильно, пока не будет вызван ondraw.

В любом случае, почему вы хотите знать onimage изменившего прослушиватель?

ответил e7fendy 29 42012vEurope/Moscow11bEurope/MoscowThu, 29 Nov 2012 13:33:14 +0400 2012, 13:33:14
0

В Android нет прослушивателя по умолчанию ... но мы можем создать список смены изображений ... скопировать класс и вместо использования ImageView использовать MyImageView ..

 public class MyImageView extends ImageView {

        private OnImageChangeListiner onImageChangeListiner;


        public MyImageView(Context context) {
            super(context);
        }

        public MyImageView(Context context, AttributeSet attributeSet) {         
            super(context, attributeSet); 
        }


        public void setImageChangeListiner(
                OnImageChangeListiner onImageChangeListiner) {
            this.onImageChangeListiner = onImageChangeListiner;
        }

        @Override
        public void setBackgroundResource(int resid) {
            super.setBackgroundResource(resid);
            if (onImageChangeListiner != null)
                onImageChangeListiner.imageChangedinView(this);
        }


        @Override
        public void setBackgroundDrawable(Drawable background) {
            super.setBackgroundDrawable(background);
            if (onImageChangeListiner != null)
                onImageChangeListiner.imageChangedinView(this);
        }


        public static interface OnImageChangeListiner {
            public void imageChangedinView(ImageView mImageView);
        }
    }
ответил Sandy09 29 42012vEurope/Moscow11bEurope/MoscowThu, 29 Nov 2012 13:16:21 +0400 2012, 13:16:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132