Я использую CheckedTextView
в RecyclerView. Я определил только один checkTextView в xml. И я раздуваю recylerView динамическими данными с сервера. Теперь я хочу проверить только выбранный CheckedTextView, а другой - не проверенный. Следует проверять только один CheckedTextView, в то время как другие должны оставаться непроверенными, когда один из них проверен.Как проверить speceded CheckedTextView внутри recyclerView while other Unchecked
Вот код, который я написал.
public class CategoriesAdapter extends RecyclerView.Adapter<CategoriesAdapter.ViewHolder> {
CategoriesDTO categoriesDTO;
String categories[];
public CategoriesAdapter(CategoriesDTO categoriesDTO){
this.categoriesDTO=categoriesDTO;
}
public CategoriesAdapter(String[] categories){
this.categories=categories;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.categories_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.category.setText(categories[position]);
}
@Override
public int getItemCount() {
return categories.length;
}
public static class ViewHolder extends RecyclerView.ViewHolder{
public CheckedTextView category;
public ViewHolder(View itemView) {
super(itemView);
category=(CheckedTextView)itemView.findViewById(R.id.category);
}
}
}
Вот как я устанавливаю его, но он проверил все проверочный файл.
recyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
CheckedTextView checkedTextView = (CheckedTextView) view.findViewById(R.id.category);
checkedTextView.setChecked(true);
Toast.makeText(getContext(), "" + categories[position], Toast.LENGTH_SHORT).show();
String url = Constants.URL_BASE_CATEGORY + categories[position];
new MyAsyncTask().execute(url);
}
}));
как это сделать?
Спасибо за рассмотрение ответа, но это не работает так, как я хочу. Сначала он не устанавливает checkTextview при первом касании. Когда я нажимаю 5 или 6 раз, тогда он проверяется, и он не изменяет его состояние при нажатии другого текстового комментария. –
Да, извините, я, наверное, не совсем понял, что вы хотели сделать! – BonBon
Вы можете отредактировать свой ответ в соответствии с ним? Я внедрил этот ответ –