방금 Play 스토어에 게임을 게시했으며 더 멋지고 직관적으로 보이도록 계획했습니다. Android 대화 상자를 광산으로 대체하려고합니다.메서드 호출 - onActivityResult 대 DialogInterface.OnClickListener()
사용자가 레벨을 완료하면 표시 할 사용자 정의 대화 상자가 필요하고 사용자가 일부 버튼을 클릭하면 대화 상자 (대화 상자처럼 보이게 만드는 사용자 정의 테마의 활동)는 정수를 반환해야합니다 setResult(customResult, intent)
으로 입력 한 다음 마칩니다.
startActivityForResult(intentCustomDialog, 0)
을 수행 한 활동의 onActivityResult()
에 resultCode가 수신되면 레벨을 다시 시작하거나 결과에 따라 다음을 실행하는 사용자 지정 메서드를 호출하는 것이 문제입니다 (사용자가 어떤 단추를 클릭했는지 파악하는 데 사용됨).). 이 방법은 크로노 미터를 다시 시작해야하지만 아무것도하지 않습니다 !!!!!!!
반대편에서 안드로이드 대화 상자를 사용할 때 onClickListener에서 restart()
호출을 넣으면 크로노 미터가 성공적으로 다시 시작됩니다!
그래서 나는 무엇을 놓치고 있습니까? restart()
전화가 onClickListener
의 Android 대화 상자를 사용하여 크로노 미터를 성공적으로 다시 시작한 이유는 무엇입니까? onActivityResult()
방법에서 전화를 걸면 어떻게 되나요? 난 내 자신의 대화 상자 구현하고 사용하는 onActivityResult()
을하거나 사용자 지정을 사용자 정의 대화 상자 활동과 일상 생활의 startActivityForResult()
출시를 분리하는 onDialogResult()
메서드를 호출 할 수 있도록
미리 감사드립니다. 내 게임 클래스에서
편집
:
...
public static final int RESULT_RESTART = 8;
public static final int RESULT_NEXT = 9;
public static final int RESULT_MENU = 10;
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (resultCode) {
case RESULT_MENU:
back(null);
break;
case RESULT_NEXT:
nextGrid();
break;
case RESULT_RESTART:
restartGrid();
break;
}
}
restartGrid() 메소드 :
public void restartGrid() {
...
startChrono();
...
}
public void startChrono() {
chrono.setBase(SystemClock.elapsedRealtime());
chrono.start();
}
작품 완벽 DialogInterface.OnClickListener()
에서.
public void startChrono() {
chrono.post(new Runnable() {
@Override
public void run() {
chrono.setBase(SystemClock.elapsedRealtime());
chrono.start();
}
});
}
을하지만 착색 된 뷰가 제대로 포스트 방법을 사용하여 whithout reseted대로 크로노 미터를 위해 그렇게해야 할 이유를 나는 아직도 이해가 안 .. :
'onActivityResult()'가 호출 되었습니까? – Caner
그래, 플레이어가 착색 한 뷰가 원래 색으로 성공적으로 재설정되었으므로 확신합니다. 그것이 이상하게 만드는 이유는 메커니즘이 완벽하게 작동하기 때문에 크로노 미터 만 이유없이 리셋되지 않습니다. – Flawyte
당신은 크로노 미터 코드와'onActivityResult()' – Caner