Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android IndexOutOfBoundException无效索引20大小为20_Android_Database_Listview - Fatal编程技术网

Android IndexOutOfBoundException无效索引20大小为20

Android IndexOutOfBoundException无效索引20大小为20,android,database,listview,Android,Database,Listview,当我到达最后一行时,我遇到了这个错误。。IndexOutOfBoundException无效索引20大小为20 这是我的密码 public class SocialListAdapter extends BaseAdapter { private Activity activity; private List<Item> items; private List<Item> items2; private List<Item> items3; private

当我到达最后一行时,我遇到了这个错误。。IndexOutOfBoundException无效索引20大小为20

这是我的密码

public class SocialListAdapter extends BaseAdapter {

private Activity activity;
private List<Item> items;
private List<Item> items2;
private List<Item> items3;
private List<FacebookItem> fb;
private List<Instagram> insta;

// private MainTable objBean;
private Item objBean;
private Item objBean2;
private Item objBean3;
// private MainTable objBean;

private int row;
private int i;
int layout1 = 0;
int layout2 = 1;
Session session;
String fbpostid;
private InstagramApp mApp;
private InstagramSession mSession;
private static final String API_URL = "https://api.instagram.com/v1";
String accessToken;
private DisplayImageOptions options;
ImageLoader imageLoader;
String name;
int fbcount;
int instacount;

public SocialListAdapter(Activity act, int resource, List<Item> arrayList,
        List<Item> arrayList2, List<Item> arrayList3, String name,
        int fbcount, int instacount) {
    // super(act, resource, arrayList);
    // TODO Auto-generated constructor stub
    this.activity = act;
    this.items = arrayList;
    this.row = resource;
    this.items2 = arrayList2;
    this.items3 = arrayList3;   
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public int getItemViewType(int position) {

    objBean = items.get(position);
    if (objBean.getI() == 0) {
        return layout1;
    } else if (objBean.getI() == 1) {
        return layout2;
    }
    return i;

}

@Override
public int getCount() {
    return items.size();

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    View view = convertView;
    final ViewHolder holder;
    objBean = items.get(position);
     objBean2 = items2.get(position); 
     objBean3 = items3.get(position);

    int type = getItemViewType(position);

    i = objBean.getI();
    // if(i == 0){

    if (view == null) {

        LayoutInflater inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        // view = inflater.inflate(row, null);

        if (type == layout1) {

            view = inflater.inflate(R.layout.list, null);

        } else if (type == layout2) {
            view = inflater.inflate(R.layout.row1, null);
        }
        holder = new ViewHolder();
        view.setTag(holder);
    } else {
        holder = (ViewHolder) view.getTag();
    }



    if ((items == null) || ((position + 1) > items.size()))
        return view;
    if ((items2 == null) || ((position + 1) > items2.size()))
        return view;
    if ((items3 == null) || ((position + 1) > items3.size()))
        return view;


    holder.tvinstatime = (TextView) view.findViewById(R.id.instatime);

    holder.tvinstapostid = (TextView) view.findViewById(R.id.instapostid);



    if (holder.tvinstapostid != null && null != objBean3.getinstapost_id()
            && objBean3.getinstapost_id().trim().length() > 0) {
        holder.tvinstapostid.setText(Html.fromHtml(objBean3
                .getinstapost_id()));
    }


    if (holder.tvinstatime != null && null != objBean3.getdatetime()
            && objBean3.getdatetime().trim().length() > 0) {
        holder.tvinstatime.setText(Html.fromHtml(objBean3.getdatetime()));
    }


    holder.ivimage = (ImageView) view.findViewById(R.id.fbdp);
    holder.buttonlike = (Button) view.findViewById(R.id.likelist);

    if (holder.tvfbpostid != null && null != objBean.getfbpost_id()
            && objBean.getfbpost_id().trim().length() > 0) {
        holder.tvfbpostid.setText(Html.fromHtml(objBean.getfbpost_id()));
    }

    return view;
}

当我滚动到最后一个时。

items2大小和items1大小应该相同…item2+item3=Item1请注意,ListView重用可见项,因此索引将不总是您所期望的…所以我现在应该做什么?我不建议只捕获所有错误。。这不仅会阻止某些代码执行,还会助长糟糕的设计。您应该解决根本问题。
 objBean2 = items2.get(position);