listview 加载或者刷新的时候报数组越界异常

listview是常见的Android列表控件,为了看起来美观,无论是个人还是第三方都会给listview加个刷新头和加载的footer,但是有时候加的位置不正确会导致数组越界异常,

常见的原因,可能是在添加适配器之前给listview设置的刷新头导致数组越界,把listview的添加header或者footer的时候要在适配器添加完成后添加
eg:
原来是这样(注掉部分为后期注掉的,原本是么有注掉,导致数组越界异常,所以就当没有注掉吧)

listview 加载或者刷新的时候报数组越界异常_第1张图片

正确的添加方式是这样,先添加完适配器后再给listview加头和footer

adapter = new OrderManagerListAdapter(getActivity(), orderListHeaders, OrderListContents);
((PinnedHeaderListView) listViews.get(0).findViewById(
        R.id.lvPinnedHeaderListView)).setAdapter(adapter);
if (((PinnedHeaderListView) listViews.get(0).findViewById(
        R.id.lvPinnedHeaderListView)).getFooterViewsCount() == 0) {
    ((PinnedHeaderListView) listViews.get(0).findViewById(
            R.id.lvPinnedHeaderListView)).addFooterView(footOrderListView, null, false);
}

(PinnedHeaderListView是第三方控件,完全可以当作listview)

你可能感兴趣的:(Android,listview,listview,异常)