ListView滚动平滑度

时间:2013-01-05 09:00:39

标签: android android-listview android-listfragment

我有一个功能齐全的listview(在ListFragment中),其中包含自定义ArrayAdapter。 适配器的布局包括imageviewbuttongridview和几个textviews
问题是listview在滚动时非常紧张。我已经实现了ViewHolder模式,它稍微改善了性能 GridView包含我在AsyncTask中检索的联系人图像,还使用应用程序缓存来显示位图。 我还能做些什么来使listview滚动顺畅? 我在适配器的getView方法中使用了视图回收,如下所示

public View getView(int position, View convertView, ViewGroup parent) {
    View myView;
    holder = new ViewHolder();
    if (convertView == null) {
        inflater = (LayoutInflater) getContext().getSystemService(
                                  Context.LAYOUT_INFLATER_SERVICE);
        myView = inflater.inflate(R.layout.events_list_activity, parent, false);
    }
    else {
        myView = convertView;
    }
}

3 个答案:

答案 0 :(得分:1)

This问题可能会解释列表视图的抖动行为。

如果您希望提高滚动速度,请尝试使用

getListView().setFastScrollEnabled(true);

答案 1 :(得分:0)

1.收藏您的ViewItem层次结构&使用合并标签

2.实现ViewHolder模式,或使用androidannotation的注入功能

3.在另一个线程中重载。

答案 2 :(得分:-1)

它会为您提供从布局顶部滚动的内容,并且它还可以为您提供流畅的滚动体验。

mainScrollView=(ScrollView)findViewById(R.id.scrollview);
mainScrollView.smoothScrollTo(0, 0);
mainScrollView.fullScroll(mainScrollView.FOCUS_UP);