我有一个回收器适配器,我已经为适配器中的项添加了setOnClickListener.代码如下:

@Override

public void onBindViewHolder(final FiltersAdapter.MyViewHolder holder, final int position) {

holder.mOrganizer.setText(filtersList.get(position));

holder.mLayout.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

try {

//Log.e("message","ONclick FIlter");

if (holder.mOrganizerCheck.isChecked()){

holder.mOrganizerCheck.setChecked(false);

}else {

holder.mOrganizerCheck.setChecked(true);

int pos = holder.getAdapterPosition();

filtersList.get(pos);

/*Bundle bundle = new Bundle();

bundle.putInt(pos, );*/

Log.d(TAG, "onClick: " +filtersList);

Log.d(TAG, "onClick of position: " +pos);

}

} catch (Exception e) {

e.printStackTrace();

}

}

});

这里有片段代码,用于处理从适配器到片段的值.

private void initView() {

mrvFilterBySender = (RecyclerView) mFilterView.findViewById(R.id.rvFilterBySender);

mFiltersAdapter = new FiltersAdapter(getActivity(), mListOrganizer);

RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext());

mrvFilterBySender.setLayoutManager(mLayoutManager);

mrvFilterBySender.setAdapter(mFiltersAdapter);

mFiltersAdapter.notifyDataSetChanged();

mrvFilterBySender.setAdapter(mFiltersAdapter);

mrvFilterBySender.setRecyclerListener(new RecyclerView.RecyclerListener() {

@Override

public void onViewRecycled(RecyclerView.ViewHolder holder) {

holder.getAdapterPosition();

}

});

}

我正试图传递pos和值,从适配器到片段有pos.但我的代码不起作用.我该如何解决?

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐