타이머를 사용하여 숫자를 자동 감소시키는 Android Dialog
에 단추 onLongClickListener
을 구현했습니다. 내가 활동의 내부입니다 때 사용자가onTouchEvent in dialog
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
myIncreaseTimer.cancel();
myIncreaseTimer.purge();
myIncreaseTimer = new Timer();
}
return true;
}
그러나 화면을 터치 할 때, 대화, 나는 onTouchEvent
를 통해 감소를 중지 할 수 있습니다
myIncreaseTimer = new Timer();
final Runnable runnable_decrease = new Runnable() {
public void run() {
int txt = Integer.parseInt(length.getText().toString());
txt -= 1;
length.setText(String.valueOf(txt));
if (txt == 0) {
myIncreaseTimer.cancel();
myIncreaseTimer.purge();
myIncreaseTimer = new Timer();
}
}
};
btnMinus.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
myIncreaseTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(runnable_decrease);
}
}, 0, 300);
return true;
}
});
여기 코드는 내가 대화 상자에서이 작업을 수행 할 수 없다 . 대화 상자에는 onTouchEvent가 없습니다.
누구나 onTouchEvent
을 Dialog
에 구현할 수 있는지 또는 Dialog
에서 증가 타이머를 어디에서 중지해야합니까?
하지만 Activity를 확장해야하며 AppcompctActivity가 아니라 내가 여기에 추가 할 생각이 하나 더 있어야합니다. 우리가 syle android : style/Theme.Dialog를 설정하면. 활동 제목이 표시됩니다. 그것을 제거하고 싶다면 android : style/Theme.Holo.Dialog.NoActionBar를 사용하십시오. –