앱의 기본 화면에 START 및 STOP 버튼이 있습니다. START를 클릭하면 인스턴스화되는 GUI와 스레드가 있습니다. 중지를 클릭하면 모든 것이 중단되고 활동이 원래 상태로 되돌아 가야합니다. 시작했을 때와 똑같은 상태 (모바일에서 앱 아이콘을 누를 때). 가능합니까? 나는 finish()로 시도했는데,이 앱을 죽이고 나갔다. 나는 메인 화면을 종료하고 싶지 않다. 오히려 STOP을 클릭하면 앱이 원산지 또는 태어난 상태로 돌아 가기를 원합니다. 감사.앱의 활동을 중지하거나 새로 고침
0
A
답변
1
스레드를 어떻게 실행하고 있습니까? AsyncTask의 바닐라 스레드 또는 하위 클래스입니까? 다음은 AsyncTask
개체의 인스턴스 인 경우
, 당신은 그것을 취소 할 cancel()
방법을 사용할 수 있습니다 다음 doInBackground()
방법 안에, 당신은 그것이 실제로 취소되어 있는지 확인하기 위해 isCancelled()
방법을 확인할 수 있습니다 후 정상적으로 종료합니다. 아래
의사 코드 :
private YourTask taskRef;
public void btnStartHandler() {
taskRef = new YourTask();
taskRef.execute();
}
public void btnStopHandler() {
taskRef.cancel();
}
다음, 당신의 AsyncTask를에 : 당신이 스레드를 사용하는 경우
public Void doInBackground(Void... arg0) {
// Background loop start
if (this.isCancelled()) {
return;
}
// Background loop continue...
}
, 당신이 그들을 중단하고 예외를 잡아 거기를 처리 할 수 있습니다. 또한 onCreate()
(initApp()
) 또는 모든 것을 초기화하는 메서드에서 호출하는 메서드를 만들 수 있습니다. 또한 STOP 버튼 클릭 핸들러에서 initApp()
을 사용하여 값을 다시 시작 기본값으로 재설정 할 수 있습니다.
0
finish()
으로 작업을 다시 시작한 다음 startActivity(getIntent());
으로 전화를 걸 수 있습니다. 이렇게하면 활동을 시작한 상태와 상관없이 활동이 효과적으로 다시 시작되고 기본 상태가됩니다.
TJF가 제안한대로 스레드 또는 AsyncTasks를 모두 취소하기 전에 (onDestroy
오버로드에서이 작업을 수행 할 수 있고해야 함). Reload activity in Android이 내가 (그런 initapp, 무엇을 찾고 있었다 아니었다
관련 문제
- 1. back pressed는 새로 고침 된 활동을 가져와야합니다.
- 2. 새로 고침/새로 고침
- 3. 활동을 새로 고치는 방법? 지도보기 새로 고침 실패
- 4. 새로 고침/새로 고침 Google지도
- 5. NSFetchedResultsController 새로 고침 새로 고침?
- 6. 새로 고침 활동 문제
- 7. Android : 새로 고침 활동
- 8. ListView WPF에서 새로 고침 제안 새로 고침
- 9. 인터넷에서 동기화 후보기 새로 고침/새로 고침
- 10. Infragistics WebDataGrid 새로 고침 새로 고침
- 11. 새로 고침/새로 고침 Flot In Javascript
- 12. flex에서 데이터 격자 새로 고침/새로 고침
- 13. Java JTable 재구성/새로 고침/새로 고침
- 14. 새로 고침
- 15. UIView에서 개체/데이터 새로 고치기위한 새로 고침/새로 고침 단추
- 16. Xcode에서 코드 서명 새로 고침
- 17. 다시 채우지 않고 TableAdapter의 데이터를 새로 고침/새로 고침
- 18. 피드가 변경되어 캐시 피드가 새로 고침 될 때만 새로 고침
- 19. 새로 고침 asp.net mvc 웹 페이지 새로 고침
- 20. ViewController의 탭 막대 항목을 새로 고침/새로 고침 하시겠습니까?
- 21. 지도 새로 고침/새로 고침 : Google지도 API V2
- 22. DynaTree를 새로 고침/새로 고침/reinit하는 방법은 무엇입니까?
- 23. 새로 고침 페이지가 양식을 제출하고 새로 고침 할 때
- 24. ResourceProviderFlory 정기적 새로 고침
- 25. 새로 고침 JPanel
- 26. EntityManager 새로 고침
- 27. Asp.net updatePanel 새로 고침
- 28. 새로 고침 문제
- 29. 페이지 새로 고침 문제
- 30. 페이지 새로 고침
) 중 하나
더 많은 활동을 다시 시작하는 방법에 대한 정보 및 장단점에 대한 설명은이 질문을 참조하십시오. –
주의를 기울 였다면, 나는 그 메소드를 생성하고'onCreate()'에서 호출 할 것을 제안했다. 당신이하는 일에 대한 좀 더 많은 정보는 당신이 찾고있는 해답을 얻는 데 확실히 도움이 될 것입니다. – TJF
+1 누구든지이 유익한 대답을 왜곡 한 사람을 보완합니다. – hpique