내 안드로이드 응용 프로그램에서 간단한 글로벌 예외 핸들러를 할 노력하고있어 나는 문제 데 : 나는 안드로이드와 자바 모두 비교적 새로운 해요액세스 '이'익명 메소드의
public class TicTacToe extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Toast.makeText(this, "TOAST", Toast.LENGTH_LONG);
}
});
setContentView(R.layout.main);
}
}
을하지만, .NET에서 작동합니다. Java의 익명 메소드에서 로컬 변수에 액세스 할 수 없습니까? 그렇다면 어떻게 다시 작성해야합니까?
감사합니다, 비탈리
안녕하세요. 당신이 올바른지. 컴파일 오류가 발생했습니다. 게시하지 않으 셨으니 죄송합니다. 어쨌든 도움이 된 것 같습니다. 감사. – VitalyB
조금 더 자세히 설명하면, 당신은 실제로 새로운 클래스를 형성하고 있습니다. .class 파일 (또는 Dalvik 동등 물)과 모든 것이 있습니다. 그래서 "this"는 그 클래스의 인스턴스입니다. 자세한 내용은 Google "익명 내부 클래스"를 참조하십시오. – MatrixFrog