setOnClickListener для всех расширенных ImageViews - Java - PullRequest
0 голосов
/ 19 августа 2010

У меня есть собственный класс, который я написал, который расширяет ImageView (для Android Java).Я хочу добавить ClickListener к каждому создаваемому мной экземпляру класса, который будет делать то же самое (просто анимировать ImageView.

Я пробовал несколько разных вещей безрезультатно. Код ниже - то, что я хочувыполнить, но он применяется к экземпляру объекта класса.

MyCustomImageView fd = new MyCustomImageView(this);
fd.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                Animater(fd);
            }
        });

Я попытался использовать «Implements onClickListener» в объявлении класса, а затем публичный метод void onClick () в классе, и этоэто не работает для меня.

Я также попытался использовать приведенный выше фрагмент кода с "this" вместо "fd", и это тоже не сработало.

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

1 Ответ

1 голос
/ 19 августа 2010

Это действительно легко. Вы должны сделать это в своем пользовательском классе:

public class MyCustomImageView extends ImageView{

    public MyCustomImageView(Context context){
        super(context);
        setOnClickListener(theCommonListener);
    }

    private OnClickListener theCommonListener = new OnClickListener(){
        public void onClick(View v) {
             // do what you want here
        }
    }
}

Есть и другие способы сделать это, но это действительно легко реализовать и понять. Каждый экземпляр MyCustomImageView будет иметь одного и того же прослушивателя событий (если вы не переопределите его извне).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...