내 응용 프로그램에 콘텐츠 공급자를 설정하고 LoaderManager를 사용하여 데이터를로드했지만 커서 어댑터에 커서를 스왑하는 데 문제가 있습니다. 커서가 데이터를 반환하면 테스트 한 결과입니다. 돌아왔다! 문제를 추적하고 그것은 ad.swapCursor(cursor);
것 같습니다.SimpleAdapterCursor로 커서 스왑 swapCursor()
내가 여기서 잘못하고 있다고 생각하니? 콘텐츠 제공 업체가 될 수 있습니까?
public class Main extends ListActivity implements LoaderManager.LoaderCallbacks<Cursor> {
public SimpleCursorAdapter ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getLoaderManager().initLoader(0, null, Main.this) != null);
ad = new SimpleCursorAdapter(this, android.R.id.list, null, null, null, 0);
}
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
// TODO Auto-generated method stub
Toast.makeText(this, "Started!", Toast.LENGTH_SHORT).show();
CursorLoader cursorLoader = new CursorLoader(getBaseContext(),
AviatorContentProvider.LISTS_URI, null, null, null, null);
if(cursorLoader != null){
Toast.makeText(this, "This thing is heavy!", Toast.LENGTH_SHORT).show();
}
return cursorLoader;
}
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
// TODO Auto-generated method stub
ad.swapCursor(cursor);
}
public void onLoaderReset(Loader<Cursor> arg0) {
// TODO Auto-generated method stub
}}
감사
정확히 무엇이 문제입니까? –