2015-02-02 2 views
0

ListView @android : id/list 및 TextView @andoid : id/empty가있는 ListFragment에서 커서를 사용하고 있습니다. 이제, 닫히지 않은 커서는 더 많은 akku 성능을 사용하기 때문에 새로운 활동을 시작할 때 커서를 닫고 싶습니다. 나는 ListFragment의 onPause()에 cursor.close()를 넣는다.@android : ListFragment의 id/empty behavoir를 수정했습니다.

커서가 닫히면 새로운 활동이 시작되기 전에 잠시 TextView가 표시됩니다. 이것은보기 흉하게 보이기 전에 짧은 지연을 초래합니다.

는 필자는 다음과 같이 시도 :

if (cursor.moveToNext()){ 
     tv = (TextView) getActivity().findViewById(android.R.id.empty); 
     tv.setVisibility(View.GONE); 
    } 

을하지만 이것은 아무것도 변경 didnt한다. 표시된 텍스트 뷰가 사라지더라도 지연이 나는 계속 유지할 것입니다 ...

사람들이 저에게 좋은 방법으로 문제를 해결할 수 있습니까? 사전에

감사

자갈


내 커서 : 당신은 당신의 조각의 이동 중지 방법을 닫거나하는 CursorLoader를 사용하려고 할 수 있습니다

public void loadCursor(){ 
    cursor = getActivity().getContentResolver().query(ProgressContentUri, new String[]{Table.Columns._ID, Table.Columns.NAME, Table.Columns.DATE}, "", null, Table.Columns.DATE+ " DESC");   
} 
+0

어떻게 커서를 가져 옵니까? 커서 로더에서? – NitroG42

+0

contextProvider에서 커서를 topic에 게시했습니다. – pebbles

답변

0

커서를 사용하는 훨씬 더 좋은 방법입니다.

이렇게하면 커서가 비동기 적으로로드되고 자동으로 닫힙니다.

+0

감사합니다. CursorLoader를 잘못 읽었을 때 그것을 시험해보십시오! – pebbles

관련 문제