2012-01-06 7 views
0

をのsetPressed:上記Androidは次のコードは、キーストロークをシミュレートしようとする試みである行動

button1.setPressed(true); 
try { 
Thread.sleep(500); 
} catch(InterruptedException e) { 
} 
button1.setPressed(false); 

だボタンには全く何もしませんが、それだけで

button1.setPressed(true); 

がそれにボタンを設定し、押された状態。
最初のスニペットはなぜボタンに影響しませんか?

+0

ButtonのOnClickListenerも実行しようとしている場合は、button1.performClick()を呼び出すことを忘れないでください。 (しかし、コードをよりきれいにするために、ここでその部分を削除したのかもしれません):) – YuviDroid

答えて

0

遅くとも返信がありますが、あなたはUIスレッドをブロックしているので、私が推測するのは、既に押された状態をもう一度無効にするまでUIを更新しないためです。

代わりに次のようなものを試すことができます。

class MyClass extends Activity ... { 
    private final Handler _handler = new Handler(); 
    ... 
    void somefunc() { 
    button1.setPressed(true); 
    _handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
     button1.setPressed(false); 
     } 
    }, 500); 
    } 
} 

幸運!

関連する問題