메신저가 잘못되었습니다. msg : "원래 여기에 추가 된 창을 유출했습니다." 는이 코드를 가지고 :android - 원래 여기에 추가 된 창문이 누출되었습니다. 오류가 발생했습니다. 도와주세요 .. 무엇을 해야할지 잘 모릅니다.
ball.java :
static DialogInterface.OnClickListener dialogClickListener = new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which)
{
Intent intent = null;
switch (which){
case DialogInterface.BUTTON_POSITIVE:
dialog.dismiss();
((Activity) newgame.gNewGameContext).finish();
intent = new Intent (newgame.gNewGameContext , newgame.class);
newgame.gNewGameContext.startActivity(intent);
Log.d("redwing", "YES button ... successfuly processed, new intent starded.");
break;
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
((Activity) newgame.gNewGameContext).finish();
Log.d("redwing", "NO button ... successfuly processed, current intent was closed.");
break;
}
}
및 GameOver (메시지가있을 때이 핸들러 느릅 나무는 메시지를 수신 :
...
if(current_ball.physx.position.distance2(renderer.gPlayer.physx.position) <= (graphics.SQUARE_SIZE-4)*2)
{
if(renderer.gSnd_GameOver!=0 && renderer.bUseSound) renderer.gSndPool.play(renderer.gSnd_GameOver, 1, 1, 0, 0, 1);
renderer.bIsGameOver = true;
Message msg = new Message();
msg.what = newgame.STATE_GAMEOVER;
newgame.handler.sendMessage(msg);
return;
}
다음, newgame.java 활동 내가 가지고 위의 코드에서 언급 한 ball.java에서 생성됨) ...이 질문과 함께 새로운 경고 대화 상자를 인스턴스화합니다. "PlayAgain?" (이 핸들러가 존재하고이 newgame.java에서 만든 것 참고) :
@Override
protected void onCreate(Bundle newgameInstance) {
// TODO Auto-generated method stub
super.onCreate(newgameInstance);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
gNewGameContext = this;
......
:
public static Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch(msg.what)
{
case newgame.STATE_GAMEOVER:
AlertDialog.Builder builder = new AlertDialog.Builder(newgame.gNewGameContext);
builder.setCancelable(false);
builder.setTitle("GaMeOvEr");
builder.setIcon(R.drawable.ic_launcher);
builder.setMessage("Play again ?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No" , dialogClickListener).show();
break;
}
}
};
는 ... 또한 "newgame.gNewGameContext는"(에서 onCreate에서) newgame.java에서 다음과 같이 설정
내가 이렇게 검토하려면, 내가 핸들러에 메시지를 보내 gameover = 사실
.
처리기가 게임 오버 메시지를받습니다. 새 경고창을 생성합니다
사용자가이 경고 상자에서 아니오 버튼을 누르면 "
원래 여기에 추가 된 창이 유출되었습니다."오류가 발생합니다. 오류! :(
내가이 문제를 해결하는 방법을 잘 모릅니다, 도와주세요. 감사합니다! 당신은 심지어 대화 상자를 생성 한 활동을 마무리하려고하기 때문에
답장을 보내 주셔서 감사합니다. 내 코드에서 볼 수 있듯이, "dialog.dismiss(); ((Activity) newgame.gNewGameContext) .finish();"이렇게하면 Activity가 종료되기 전에 경고를 닫습니다. 나는 어디로 잘못 갈까? –
Pleasseee 나를 도와주세요, 어떤 ideeas ?? 나는 일주일 이상 이걸로 붙어있다 ... :( –
그래서이 오류는 누름 버튼을 누르는 동안에 만 발생한다. 그래서 네가 negative 버튼에서 finish()를 제거하고 보았는가? –