【发布时间】:2017-09-05 19:52:44
【问题描述】:
在我的代码中,我有一个正在填充数据的 recyclerView。在每个项目上,我都有一个单选按钮和几个 TextView。如何在我的 Activity 中访问被点击项目的 TextViews 的内容?
这是我的适配器:
public class SelectCategoryAdapter extends RecyclerView.Adapter<SelectCategoryAdapter.MyViewHolder> {
private Context mContext;
private List<Category2> categoryList;
private Category2 category;
private RadioButton radioButton;
int mCheckedPositon = -1;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, count, nameCategory;
public RadioButton radioButton;
public MyViewHolder(View view) {
super(view);
nameCategory = (TextView) view.findViewById(R.id.edittext_category);
count = (TextView) view.findViewById(R.id.count);
radioButton = (RadioButton) view.findViewById(R.id.radio1);
//overflow = (ImageView) view.findViewById(R.id.overflow);
}
}
public SelectCategoryAdapter(Context mContext, List<Category2> categoryList) {
this.mContext = mContext;
this.categoryList = categoryList;
}
@Override
public SelectCategoryAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.adapter_select_category, parent, false);
return new SelectCategoryAdapter.MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final SelectCategoryAdapter.MyViewHolder holder, final int position) {
category = categoryList.get(position);
holder.nameCategory.setText(category.getName());
if (category.getTasks() < 10){
holder.count.setText(" " + Integer.toString(category.getTasks()) + " ");
} else {
holder.count.setText(Integer.toString(category.getTasks()));
}
holder.radioButton.setOnCheckedChangeListener(null);
holder.radioButton.setChecked(position == mCheckedPositon);
holder.radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mCheckedPositon = position;
notifyDataSetChanged();
}
});
}
@Override
public int getItemCount() {
return categoryList.size();
}
}
我希望能够在我的 Activity 中看到“nameCategory”的内容。但只有与用户刚刚单击的项目相关的一项。
【问题讨论】:
-
您能否提供您的活动代码。或者只是您想从中查看“nameCategory”内容的 sn-p 代码。此外,最好提供在项目上设置 OnClickListener() 的 sn-p 代码。
标签: android android-recyclerview onitemclicklistener