2015-09-16 5 views
-4

У меня есть следующий клик слушатель в андроиде:Как получить доступ к методам этого класса в Java

this.startButton.setOnClickListener(
     new View.OnClickListener() { 
      @Override 


      public void onClick(View v) { 
       flag.set(false); 
        Runnable myRunnable = new Runnable() { 
        int updateInterval = 4000; //=4 second 
        ImageView currentImage = (ImageView)findViewById(R.id.picture); 


        public void x(){//dosomething} 




        @Override 
        public void run() { 
         if(!flag.get()) { 
          currentImage.postDelayed(this, updateInterval); 
          picture.setImageResource(images[current_image_index]); 
          caption.setText(captions[current_image_index]); 
          current_image_index++; 
          current_image_index = current_image_index % images.length; 
         } 
        } 
       }; 

       myRunnable.run(); 

      } 
    } 

    ); 

Однако у меня есть еще onClickListener, что нужно вызвать метод х() из myRunnable. Однако, похоже, я не могу этого сделать. Контекст здесь заключается в том, что при нажатии кнопки startButton происходит изменение изображений каждые 4 секунды, но у меня есть еще одна кнопка под названием nextButton, которая при нажатии меняет изображение и должна сбрасывать интервал обновления, иначе следующее изображение будет изменяться непоследовательно, когда nextButton нажата, спасибо!

+0

Почему downvote? – fosho

+0

Этот вопрос требует минимального проверяемого примера кода. –

+0

Этот код не является синтаксически действительным. – EpicPandaForce

ответ

0

Программа не будет работать должным образом. Вы переопределяете метод внутри

overriden method. Лучше по-прежнему создавать отдельный метод для обработки этого события и

затем вызовите его в своем списке событий. Надеюсь, это поможет