예를 들어 사용자가 특정 키를 누르면 되감기 표시기를 표시해야하는 상황이 있습니다. 나는, onKey 청취자의 키 누름을 감지 키 코드를 확인하고 되감기 키 나는 기능을 showRewind()
Android에서 UI 변경에 Handler를 사용하는 것이 좋습니다.
public static void showRewind(){
(new Handler(Looper.getMainLooper())).post(new Runnable() {
@Override
public void run() {
rewindText.setVisibility(View.VISIBLE);
}
});
}
통지 핸들러와 전화입니다 경우 Looper.getMainLooper() 나는 그렇게하지 않으면 내가 여기에 사용 UI가 즉시 업데이트되지 않습니다. 그것은 내가 키 프레스에서 즉시 업데이트 할 수있는 유일한 솔루션이며 완벽하게 작동하지만 어쨌든 나는 올바르게 작동하지 않는다고 느낍니다.
저는 Android에 상당히 익숙하며 매우 빨리 배워야하므로 문서화에 깊이 관여 할 수 없었고 일반적으로 stackoverflow의 실용적인 솔루션을 사용할 수 없었습니다.
내 질문 : 여기 (UI를 업데이트하기 위해 메인 루퍼와 핸들러 사용) 일반적으로 좋은 생각, 또는 거기에 더 나은 솔루션을 즉시 keypress에 UI를 업데이트 할 수 있습니까?
'runOnUiThread'을 시도 했습니까? https://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable) –
그래도 잘 작동합니다. 사용하는 것이 좋습니다. –
더 간단 할 수도 있습니다. –