在我的列表视图没有填充数据库数据时,有什么更好的方法来显示进度指示器?
我找到了一些使用assynctask的方法,但在我的例子中,我使用的是Loader / CursorLoader.
public class TestActivity extends SherlockFragmentActivity implements LoaderCallbacks<Cursor> { SimpleCursorAdapter mAdapter; ListView mListView; private static final String[] UI_BINDING_FROM = new String[] { TestDBAdapter.KEY_NAME,TestDBAdapter.KEY_ICON }; private static final int[] UI_BINDING_TO = new int[] { R.id.text,R.id.icon }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_Test); mListView = (ListView) findViewById(R.id.listview); mAdapter = new TestAdapter(getApplicationContext(),R.layout.list_item_Test,null,UI_BINDING_FROM,UI_BINDING_TO,0); mListView.setAdapter(mAdapter); getSupportLoaderManager().initLoader(0,this); } @Override public Loader<Cursor> onCreateLoader(int id,Bundle args) { Uri uri = ContentProviderTest.CONTENT_URI; CursorLoader cursorLoader = new CursorLoader( this,uri,null); return cursorLoader; } @Override public void onLoadFinished(Loader<Cursor> loader,Cursor data) { mAdapter.swapCursor(data); } @Override public void onLoaderReset(Loader<Cursor> loader) { mAdapter.swapCursor(null); } }
一个可能的解决方案是创建一个扩展ListFragment的新类并使用setListShown()方法,但我不知道它是否是解决此问题的最佳方法.
谢谢
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。