Попробуйте этот код ..
сделать интерфейс в класс адаптера, как показано ниже ..
OnItemClick onItemClick;
public void setOnItemClick(OnItemClick onItemClick) {
this.onItemClick = onItemClick;
}
public interface OnItemClick {
void getPosition(boolean flag); //pass any things
}
после этого ..
@Override
public void onBindViewHolder(ItemViewHolder holder, final int position) {
// below code handle click event on recycler view item.
String data = mStringList.get(position);
holder.textView.setText(data);
holder.radiobutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClick.getPosition(true);
}
});
holder.radiobutton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClick.getPosition(true);
}
});
}
после того, как этот адаптер привязан к программе просмотра, это означает, что адаптер не равен NULL, а затем вызовите приведенный ниже код.
adpater.setOnItemClick(new RecyclerViewAdpater.OnItemClick() {
@Override
public void getPosition(boolean flag) {
if(flag) {
demo = FirebaseDatabase.getInstance().getReference().child("IDS").child("AtdList").child("1").child("1").child(str).child("status");
demo.setValue("Present");
Toast.makeText(context, "updated by Present", Toast.LENGTH_SHORT).show();
adpater.notifyDataSetChanged();
}
else if(flag)
{
demo = FirebaseDatabase.getInstance().getReference().child("IDS").child("AtdList").child("1").child("1").child(str).child("status");
demo.setValue("Absent");
Toast.makeText(context, "Updated by Absent", Toast.LENGTH_SHORT).show();
adpater.notifyDataSetChanged();
}
}
});