在android listview适配器中输入数据时完成屏幕闪烁

时间:2015-03-12 14:48:31

标签: android listview android-listview android-arrayadapter

ListView内的RelativeLayoutFragment。我从服务器和API调用回调中获取数据我正在以下面的方式向我的CustomAdapter添加元素

   @Override
public void onResponse(List<Post> response) {
        mAdapter.clearAdapter();

        if (response.size() > 0) {
            for (Post post : response) {
                mAdapter.add(post);
            }

            mAdapter.notifyDataSetChanged();
        }
}

问题是这个mAdapter.add(post)调用导致屏幕闪烁。我也尝试使用addAll()代替add(),但没有运气。我一直在使用ListView自定义适配器,这是我第一次遇到这样的问题。我不确定问题出在哪里。此外,我在应用程序的其他地方使用相同的自定义适配器,没有任何此类问题。此自定义适配器派生自ArrayAdapter

更新

我尝试使用带有虚拟数据的简单ArrayAdapter<String>,并且没有重现问题。

更新2

我从自定义适配器getView()方法中删除了所有内容,并将其缩减为以下内容。仍然屏幕闪烁

   @Override
public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(R.layout.list_item, parent, false);
    }
    return convertView;
}

更新3

我在list-item xml布局中有VideoView导致此问题。如果我评论说闪烁消失了。

0 个答案:

没有答案