たとえば、ユーザーが特定のキーを押したときに巻き戻しインジケータを表示する必要がある状況があります。 それは私がそれをしない場合、私は、ここで使用することに注意してくださいハンドラとLooper.getMainLooper() AndroidでUIの変更にHandlerを使用することをお勧めします
機能にshowRewind()
public static void showRewind(){
(new Handler(Looper.getMainLooper())).post(new Runnable() {
@Override
public void run() {
rewindText.setVisibility(View.VISIBLE);
}
});
}
を呼び出す巻き戻しキーだ場合、私はキーコードをチェックし、onKeyリスナーでキー入力を検出し、 UIがすぐに更新されることはありません。それは私がキープレスで即座にそれを更新するために見つけることができる唯一の解決策であり、それは完全に動作しますが、何とか私は何か正しいことをしていないと感じています。
私はAndroidには新しく、すぐに習得しなければならなかったので、ドキュメントに深く入り込まず、一般的なstackoverflowの実用的なソリューションを使用することはできませんでした。
ここで私はここで何をしているのですか(一般的にはUIを更新するメインルーパーのハンドラを使用しています)、またはキープレスでUIを即座に更新するためのよりよい解決策がありますか?
'runOnUiThread'を試しましたか? https://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable) –
それはちょうど同様にうまく動作します、私はそれを使用する方が良いと思いますか? –
ちょっと単純かもしれない –