Я использую RecyclerView
, и у него есть два TextView
с; один для вопроса и один для ответа. Ниже приведен вид для справки. По умолчанию я установил ответ TextView
как невидимый для пользователя. Теперь, если пользователь нажимает на кнопку, ответ будет виден. Пока все работает нормально, теперь я хочу, чтобы пользователь, ответивший на вопрос 1, открыл ответ, теперь, если пользователь нажимает вторую кнопку списка, тогда первый ответ TextView
должен быть скрыт. Я хочу, чтобы за один раз был виден только один ответ.
Вопрос 1 (кнопка)
Ответ
Вопрос 2 (кнопка)
Ответ
Вопрос 3 (Кнопка)
Ответ
Вопрос 4 (Кнопка)
Ответ
public class BuyerFaqsAdapter extends RecyclerView.Adapter<BuyerFaqsAdapter.MyViewHolder> {
private ArrayList<BuyerMemberShipFAQParent> brandList;
private Context context;
private int counter;
class MyViewHolder extends RecyclerView.ViewHolder {
public TextView tvans,tvfaq;
public ImageView ivImage;
MyViewHolder(View view) {
super(view);
tvfaq = (TextView) view.findViewById(R.id.row_layout_faqtv);
tvans = (TextView) view.findViewById(R.id.row_layout_answertv);
ivImage = (ImageView) view.findViewById(R.id.row_layout_ivarrow);
}
}
public BuyerFaqsAdapter(final Context context, final ArrayList<BuyerMemberShipFAQParent> brandList) {
this.brandList = brandList;
this.context = context;
}
@Override
public BuyerFaqsAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
final View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.row_layout_faq_expand_parent, parent, false);
return new BuyerFaqsAdapter.MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(final BuyerFaqsAdapter.MyViewHolder holder, final int position) {
holder.tvfaq.setText(brandList.get(position).getFAQParentText());
holder.tvans.setVisibility(View.GONE);
holder.tvans.setText(brandList.get(position).getFAQAnswerText());
holder.itemView.setId(position);
counter = 1;
holder.ivImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (counter == 1) {
holder.tvans.setVisibility(View.VISIBLE);
holder.ivImage.setImageResource(R.drawable.ic_arrow_faq_up);
counter = 2;
}
else {
holder.tvans.setVisibility(View.GONE);
holder.ivImage.setImageResource(R.drawable.ic_arrow_faq);
counter = 1;
}
}
});
}
@Override
public int getItemCount() {
return brandList.size();
}