사전 앱과 같은 앱을 만듭니다. 사용자가 Edittext를 입력 할 때 AsyncTask를 호출하여 화면에 결과를 계산하고 업데이트합니다 (onPostExecute() 메서드에 UI 업데이트 코드 입력). 그러나, 당신이 조금 빠르면, eddittext는 반응이 없게됩니다 (약간의 대기 시간). 나는 많은 AsyncTasks (입력 문자에 대한 각 AsynTask)가 실행되기 때문에이 promblem이 발생한다고 생각합니다. 그래서 새로운 과제를 부르기 전에 첫 번째 과제를 중단해야한다고 생각합니다. 내가 맞습니까? 이 상황에서 어떻게해야합니까?Android에서 반응하는 UI
0
A
답변
0
비동기 작업에 필터 메서드를 구현할 필요가 없습니다. 첫 글자가 editbox에 쓰여지고 임시 배열에 결과를 저장할 때 데이터에 필터 메소드를 호출 한 다음 다른 문자가 쓰여지면 기술적으로 원래 데이터보다 정보가 적은 임시 데이터에 필터 메소드를 호출합니다. 이렇게하면 editbox에 입력 할 때 데이터 세트의 dimmension이 줄어 듭니다. 또한이 방법을 사용하여 이전 데이터 세트를 저장할 수 있으므로 백 스페이스 키를 누를 때 필터 메소드를 다시 호출 할 필요가 없으며 이전 저장된 임시 데이터 세트로 이동합니다. 나를 위해, 그것은 잘 작동하고 효율적이기 때문에 비동기 작업을 사용하지 않아도됩니다.
0
하나의 스레드 만 사용하는 것이 좋습니다. 검색 스레드는 데이터 검색을 기다려야하고 검색을 수행하고 새 데이터가 될 때까지 기다려야합니다. 예 :
private static class SearchThread extends Thread{
private Object monitor = new Object();
private String value;
public void search(String value){
this.value = value;
synchronized (monitor){monitor.notify();}
}
@Override
public void run() {
while(true){
try {System.out.println("Wait for search data."); synchronized (monitor){monitor.wait(); }
} catch (InterruptedException e) {e.printStackTrace();}
System.out.println("Searching for " + value);
}
}
}
관련 문제
- 1. android에서 반응하는 네이티브 애플리케이션 유지하기
- 2. Jquery UI - we 're 반응하는 탭
- 3. Android에서 UI 이벤트 처리
- 4. Android에서 UI 업데이트
- 5. Android에서 EditText UI 변경
- 6. Android에서 스레드 업데이트 UI
- 7. 반응하는 네이티브 Android에서 리모컨을 사용하면 기기가 걸려 넘어졌습니다.
- 8. jquery ui droppable - 잘못된 draggable에 반응하는 방법이 필요합니다.
- 9. 느린 로딩을 보여 주면서 반응하는 WPF UI 유지 UserControl
- 10. Android에서 다양한 화면으로 UI 만들기
- 11. android에서 UI 컨트롤의 가로 정렬
- 12. Android에서 여러 UI 요소 변경
- 13. Android에서 UI 요소 사용자 정의
- 14. 반응하는 네이티브 앱에서 반응하는 구성 요소를 사용하는 방법은 무엇입니까?
- 15. 풍속에 반응하는 회전 함수
- 16. 활동 이벤트에 반응하는 단편
- 17. 크기에 반응하는 부트 스트랩
- 18. 반응하는 사회적인 단추
- 19. 이미지로 반응하는 CSS
- 20. 반응하는 대각선 CSS
- 21. 고정 위치가 반응하는 방식
- 22. 반응하는 경사 테두리
- 23. 기기에 반응하는 CSS
- 24. 내 계산기에서 반응하는 방법 (+, -, * /)
- 25. 클릭하면 반응하는 방식
- 26. CSS가 거의 반응하는 마스크
- 27. iFrame에서 반응하는 부트 스트랩
- 28. Android에서 TabHost + ViewPager 콤보 UI 만들기
- 29. Android에서 UI 변경에 Handler를 사용하는 것이 좋습니다.
- 30. Android에서 활동을 사용하여 여러 UI 그리기
좋은 아이디어! 그러나 좀 더 구체적으로, 전체 텍스트 검색을 사용하여 데이터 세트를 얻습니다. 따라서 데이터 세트가 커서에 있습니다. 편지를 입력하면 다시 쿼리해야하고 새 커서가 반환됩니다. 커서로 전체 텍스트 검색을 제공하지 않기 때문에 이전 커서를 필터링 할 수 없습니다. –
내 문제는 아마도이 예제와 같을 것이라고 생각합니다. 'a'를 입력하면 전체 텍스트 검색을 수행하고 3000 개의 행이 반환됩니다. 이 행을 계산하고 UI로 업데이트합니다. 그러나이 과정이 끝나지 않은 상태에서 'n'문자를 입력하면 (이제는 'an'이 편집문에 있음) 200 개의 행이 반환 된 새 커서가 반환됩니다. 그래서 커서를 다시 계산해야합니다. 이것은 아마도 편집 문구의 대기 시간을 초래할 수 있습니다. 좀 더 구체적인 해결책을 (코드별로) 줄 수 있습니까? –