Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 对于onBindView中的循环,Holder在每个循环中迭代4次_Android_For Loop_Android Recyclerview - Fatal编程技术网

Android 对于onBindView中的循环,Holder在每个循环中迭代4次

Android 对于onBindView中的循环,Holder在每个循环中迭代4次,android,for-loop,android-recyclerview,Android,For Loop,Android Recyclerview,我在recyclerView适配器的onBindView Holder中使用for循环,但是它在一个循环中迭代了4次。下面是我代码的详细信息。如果您有任何帮助,我将不胜感激。前 我的回收商查看代码 RecyclerView recyclerView2 = (RecyclerView) findViewById(R.id.online_recy); final GridLayoutManager gm = new GridLayoutManager(Online3.this, 2)

我在recyclerView适配器的onBindView Holder中使用for循环,但是它在一个循环中迭代了4次。下面是我代码的详细信息。如果您有任何帮助,我将不胜感激。前

我的回收商查看代码

RecyclerView recyclerView2 = (RecyclerView) findViewById(R.id.online_recy);
        final GridLayoutManager gm = new GridLayoutManager(Online3.this, 2);
        recyclerView2.setNestedScrollingEnabled(false);
        final OnlineAdapter oa = new OnlineAdapter(getApplicationContext(), list2,wishList);
        recyclerView2.setLayoutManager(gm);
        recyclerView2.getRecycledViewPool().clear();
        oa.notifyDataSetChanged();
        recyclerView2.setAdapter(oa);
public class OnlineAdapter extends RecyclerView.Adapter<OnlineAdapter.MyViewHolder> {

private Context context;
private List<Online2_G_S> online2_g_sList = null;
View itemView;
List wishList;



public OnlineAdapter(Context context, List<Online2_G_S> list, List wishList) {

    this.context = context;
    this.online2_g_sList = list;
    this.wishList = wishList;
}


@Override
public OnlineAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.online_shopping_single_row, parent, false);
    return new MyViewHolder(itemView);
}


@Override
    public void onBindViewHolder(final OnlineAdapter.MyViewHolder holder, final int position) {

    for (int n=0 ;n<4;n++){

                Log.i("sandeep", String.valueOf(wishList.get(n)));//liked
            }
}
适配器代码

RecyclerView recyclerView2 = (RecyclerView) findViewById(R.id.online_recy);
        final GridLayoutManager gm = new GridLayoutManager(Online3.this, 2);
        recyclerView2.setNestedScrollingEnabled(false);
        final OnlineAdapter oa = new OnlineAdapter(getApplicationContext(), list2,wishList);
        recyclerView2.setLayoutManager(gm);
        recyclerView2.getRecycledViewPool().clear();
        oa.notifyDataSetChanged();
        recyclerView2.setAdapter(oa);
public class OnlineAdapter extends RecyclerView.Adapter<OnlineAdapter.MyViewHolder> {

private Context context;
private List<Online2_G_S> online2_g_sList = null;
View itemView;
List wishList;



public OnlineAdapter(Context context, List<Online2_G_S> list, List wishList) {

    this.context = context;
    this.online2_g_sList = list;
    this.wishList = wishList;
}


@Override
public OnlineAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.online_shopping_single_row, parent, false);
    return new MyViewHolder(itemView);
}


@Override
    public void onBindViewHolder(final OnlineAdapter.MyViewHolder holder, final int position) {

    for (int n=0 ;n<4;n++){

                Log.i("sandeep", String.valueOf(wishList.get(n)));//liked
            }
}
我的预期结果是

09-18 11:01:51.777 27865-27865/com.parse.AwaazDo I/sandeep: 0
09-18 11:01:51.777 27865-27865/com.parse.AwaazDo I/sandeep: 1
09-18 11:01:51.777 27865-27865/com.parse.AwaazDo I/sandeep: 2
09-18 11:01:51.777 27865-27865/com.parse.AwaazDo I/sandeep: 3
改变

for (int n=0 ;n<4;n++){
    Log.i("sandeep", String.valueOf(n));//liked
}

您应该在
onBindViewHolder
方法中执行此操作

@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
    Log.i("sandeep", String.valueOf(position));//liked
}
它将检查数据。和
位置将被更改


如果
online2\u g\u列表的大小为4,并且
onBindViewHolder
方法将消失 通过4次数据

  • 如果
    位置==0
    ,则if将第一次循环
  • 如果
    位置==1
    ,则if将再次循环
  • 如果
    位置==2
    ,则if将第三次循环
  • 如果
    位置==3
    ,则if将第四次循环
因此,如果要循环,可以将代码中的
n
更改为
1

更改

for (int n=0 ;n<4;n++){
    Log.i("sandeep", String.valueOf(n));//liked
}

您应该在
onBindViewHolder
方法中执行此操作

@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
    Log.i("sandeep", String.valueOf(position));//liked
}
它将检查数据。和
位置将被更改


如果
online2\u g\u列表的大小为4,并且
onBindViewHolder
方法将消失 通过4次数据

  • 如果
    位置==0
    ,则if将第一次循环
  • 如果
    位置==1
    ,则if将再次循环
  • 如果
    位置==2
    ,则if将第三次循环
  • 如果
    位置==3
    ,则if将第四次循环

如果你想循环,您可以将代码中的
n
更改为
1

您想做什么?我想要我的预期结果,即0 1 2 3关于您如何初始化适配器的更多代码。您想做什么?我想要我的预期结果,即0 1 2 3关于您如何初始化适配器的更多代码。但是如果您想循环,我想使用循环在您的代码中,您必须将
n
更改为
1
。我已经编辑了我的代码,我想要使用for循环
onBindViewHolder
也循环的愿望列表项。@dhami_ji@KeiLiuyue谢谢,我收到了,但我想使用循环如果你想在代码中循环,你必须将
n
更改为
1
。我已经编辑了我的代码,我想要使用for loop
onBindViewHolder
同时循环的愿望列表项。@dhami_ji@KeiLiuyue谢谢,我知道了