3

我有带有自定义光标适配器的列表视图。它包含数百个项目。向下滚动流畅且快速,但向后滚动 - 一直冻结。我不在 UI 线程上加载图像或某些操作。仅从光标中获取少量值并将其设置为文本视图

private class EpisodesAdapter extends CursorAdapter {
        LayoutInflater inflater;
        public EpisodesAdapter(Context context) {
            super(context, null, false);
            inflater = (LayoutInflater)     context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }

        @Override
        public View newView(Context context, Cursor cursor, ViewGroup parent) {

            View view = inflater.inflate(R.layout.list_item_episode, parent,  false);

            view.setBackgroundResource(R.drawable.abs__list_selector_holo_light);
            return view;
        }

        @Override
        public void bindView(View view, final Context context, final Cursor cursor) {
            final String title = cursor.getString(EpisodesQuery.EPISODE_TITLE);
            final String episodeId = cursor.getString(EpisodesQuery.EPISODE_ID);
            final String time = cursor.getString(EpisodesQuery.EPISODE_PUBLISHED_AT);
            final String episodeUrl = cursor.getString(EpisodesQuery.EPISODE_URL);
            final int stateId = cursor.getInt(EpisodesQuery.EPISODE_STATE_ID);

                        ((TextView) view.findViewById(R.id.title)).setText(title);
                        ...... 
                }
}

一些想法可能导致这个问题?

4

2 回答 2

1

我想我明白了。游标中的一列包含一些 blob 数据。当我从查询选择中删除此列时,它平滑地向上滚动。感谢所有的答案。

于 2012-10-29T18:30:15.240 回答
0

如果 SimpleCursorAdapter closed() ,则 ListView 为空。此链接可能会回答关闭光标的位置。如果它向下滚动顺利,我看不出向上滚动时冻结的原因。我很好奇你面临的问题。

于 2012-10-29T17:22:00.003 回答