Android Thread / обработчик в Touchevent - PullRequest
0 голосов
/ 06 октября 2011

Этот каскад дает мне целый список проблем ... это чисто графическое изображение, и в то же время у меня работает другой поток при получении информации из пользовательского интерфейса.

В любом случае я пытаюсь запустить метод, пока ваш палец удерживается на экране.

, поэтому я просто упросту кодирование ALOT.Я запускаю что-то вроде этого, и, кажется, ускоряет другой поток?

1 Ответ

0 голосов
/ 06 октября 2011

Согласно вашему коду, вы создаете новую тему каждый раз, когда вы касаетесь своего экрана, а также вы делаете fingerdown ложь в MotionEvent.ACTION_UP, но куда вы ее превращаете?

Я предлагаю вамсделать x, y , width, height переменной экземпляра и управлять выполнением кода внутри потока, указав fingerdown true или false в коде события.

Попробуйте использовать приведенный ниже код

boolean var = false;  //instance variable to check if thread has started running for first time
int x, y, width, height; // variables as instance variables
boolean fingerdown;

Thread myThread = new Thread() {
        @Override
        public void run() {
            while(fingerdown==true);
            {
                // class object = new class() in the activity area
                object.function(this.x ,this.y , this.height, this.width);
            }
        }
    };

if (event.getAction() == MotionEvent.ACTION_DOWN) 
{ 
    this.x = event.getX();
    this.y = event.getY();
    this.width = widthf;
    this.height = heightf;
    fingerdown = true;


    if(!var){
       var = true;
       myThread.start();
    }
}


if (event.getAction() == MotionEvent.ACTION_UP) 
{ 
    fingerdown = false
}

Вместокаждый раз, создавая новый поток в событии касания, вы делаете логическое значение true и false и управляете выполнением кода.

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