나는 run 함수로 runnable을 구현하는 클래스가 있습니다.Java/Android 스레드 일시 중지 오류
@Override
public void run()
{
while(running)
{
// thread code goes here::
threadCode();////
// thread code ends here
try
{
Thread.sleep(10);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
이제 뭔가 문제가 발생하면 스레드를 일시 중지하려고합니다. wait() 및 notify()를 사용하려고했지만 응용 프로그램이 손상된 다음 나중에 "실행 중"부울을 사용하고 일시 중지와 같이 false로 설정 한 다음 true로 돌아와서 다시 시작하는 아이디어가 나타났습니다. 불행히도 여전히 응용 프로그램이 충돌합니다.
logcat에서 치명적인 오류가 발생합니다.
스레드를 일시 중지 어떤 작업을 간단한 방법이 있나요 "() Looper.prepare라고하지 스레드 내부 핸들러를 만들 수 없습니다"?/ Thx
편집 : 스레드에 관한 것이 아닙니다. 충돌이 발생한 곳을 찾았습니다. 그것은 여기 경고 대화 상자에서 충돌 그것의 코드입니다 :
AlertDialog.Builder builder1 = new AlertDialog.Builder(c);
builder1.setTitle("Game over!");
builder1.setMessage("You survived "+secs+"."+msecs+ " seconds.");
builder1.setCancelable(false);
builder1.setPositiveButton("Replay",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id)
{
// intialStuff();
dialog.cancel();
}
});
builder1.setNegativeButton("Rage quit",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
내가 어쩌면 캔버스 클래스에서 작동하지 못할 캔버스 클래스 에 그것을 실행하려고? C는 주 활동의 컨텍스트입니다.
은 무엇 당신의 로그 캣 당신을 말해 주는가? – 323go