2017-01-31 10 views
2

Android-device에서 Codenameone-App을 실행하면 hardware-back-button을 누르면 내 앱이 중지되거나 종료됩니다. 양식에 역 명령을 추가했는데 작동하지 않습니다. 하드웨어 백 버튼은 첫 번째 양식에서 두 번째 양식을 호출하고 하드웨어 백 버튼을 누르면 예상대로 작동합니다 (두 번째 양식이 닫히고 첫 번째 양식이 표시됨).Codenameone : 안드로이드 하드웨어 백 버튼이 앱을 종료하지 못하게하는 방법은 무엇입니까?

첫 번째 양식에서 하드웨어 - 뒤로 버튼을 누르면 응용 프로그램이 종료되는 것을 어떻게 방지 할 수 있습니까?

답변

1

당신은 뒤로 버튼 클릭을 처리 할 onBackPressed()을 재정의 할 수

@Override 
public void onBackPressed() { 
} 

등을 떠나, 버튼을 백업하는 앱이 아닌 응답 할 것입니다. 내가 그 질문을 올바르게 이해했다면, 그것은 당신이 성취하고자하는 것입니다!

+0

코드 네임에있는 어떤 클래스가 재정의 될 수있는 BackPressed()에 대한 메소드를 가지고 있습니까? – KlausHeywinkel

+0

나는 당신의 코멘트를 제대로받지 못했다. 더 설명 할 수 있다면 더 좋을 것이다! – OBX

+0

메소드 재정의는 이미 이러한 메소드가있는 클래스가 있음을 의미합니다. 하지만 이미 onBackPressed()라는 메서드가있는 클래스를 찾을 수 없습니다. – KlausHeywinkel

2
@Override 
    public void onBackPressed() { 
     // nothing to code 
    } 

당신은 방법을 onBackPressed 무시하고 빈을 유지해야 기본이 Form에 동작을 최소화하지 않으려면 첫 화면

2

전화 form.setBackCommand(new Command(""));에서 버튼을 다시 누르면 다음 앱 출구을받지 않습니다 .

+0

흠 - 죄송합니다 - 빈 Command()를 backCommand로 양식에 추가한다고해서 하드웨어 백 버튼을 누르면 앱이 중지되는 것을 방지하지 못합니다. 내가 할 수있는 다른 것이 있습니까? 다른 두 개발자가 onBackPressed()를 재정의해야한다고 썼습니다. 그러나이 메서드를 덮어 쓸 수있는 클래스를 찾을 수 없습니다. – KlausHeywinkel

+0

올바른 양식 인스턴스에서이 작업을 수행해야합니다. 예전 GUI 빌더 또는 다른 것을 사용하고 있습니까? 다른 사람들은 여기에 해당되지 않는 네이티브 Android에 대해 이야기하고 있습니다. –

+0

시작 변수 (start() 및 init() 메서드가있는 인스턴스)를 인스턴스 변수로 만듭니다. 메인 폼에서 호출되거나 열리는 다른 폼도 있습니다. 다른 양식에는 다시 명령이있어서 안드로이드 하드웨어 백 버튼으로 제대로 작동합니다 (즉, 앱이 종료되지는 않았지만 main 양식은 showBack()으로 다시 열립니다). 구형 GUI-Builder는 스타일링 용도로만 사용됩니다. – KlausHeywinkel