2012-01-17 4 views
2

기본적으로 RSS 리더 인 Android 앱을 제작 중입니다. 다른 주제가 활동 기반 TabHost를 사용하여 탭으로 구분되어 있습니다.프로그램 설계 관련 문제

기본적으로 AsyncTask를 시작하고 RSS 피드를 구문 분석하고 피드를 장치의 SQLLite 테이블에 저장하는 "Refresh"라는 메뉴 명령이 있습니다.

사용자가 탭을 클릭하면 데이터베이스에서 주제 항목을 끌어 오기 위해 항목 ID를 활동으로 전달합니다. onResume에서는 피드를 새로 고침 할 때마다 각 탭을 클릭하면 최신 항목을 가져옵니다.

내 문제는 사용자가 RSS 항목을 클릭하면 브라우저에서 해당 항목이 열리지 만 뒤로 버튼을 클릭하면 항목의 위치가 기억된다는 것입니다. 그러나 다시 누르면 onResume이 시작되고 피드가 새로 고쳐 지므로 맨 위로 자동 스크롤됩니다.

내가 놓친 분명한 해결책이있을 수 있지만 좋은 해결책이 나오기가 힘듭니다.

답변

0

onPause() 방법에서 사용자가 찾고있는 위치를 기록하여 onResume() 메서드가 사용자가 중단 한 위치에보기를 배치 할 수 있도록합니다.

0

해결책은 onStop() 이벤트 활동 상태를 저장하고 자동으로 마지막으로 선택한 요소의 목록을 보여주고, 당신이 달성하려고하는 행동에 따라 onRestart() 또는 onStart() 이벤트를 사용할 수 있습니다.

enter image description here

참고 :이 사람이 도움이된다면 http://developer.android.com/reference/android/app/Activity.html

0

, 이것이 내가이 일을 얻기 위해했던 것입니다. onListItemClick 이벤트에서 필자는 listView에서 getFirstVisiblePosition()을 사용하여 멤버 변수에 위치를 저장 한 다음 onResume에서 setSelection (lastPosition)을 사용하여 위치를 설정합니다.