0

I want make single selection in recyclerview

for example put red color in LinearLayout when I click on LinearLayout

this code for test

adapter class

public class adapter extends RecyclerView.Adapter<adapter.viewholder>{

    Context context;
    List<items> list;
    public adapter(Context context, List<items> list){
        this.context = context;
        this.list = list;
    }

    @NonNull
    @Override
    public viewholder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.row_test, viewGroup, false);
        viewholder v = new viewholder(view);
        return v;
    }

    @Override
    public void onBindViewHolder(@NonNull viewholder viewholder, int i) {
        items list2 = list.get(i);
        viewholder.txt.setText(list2.title);
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class viewholder extends RecyclerView.ViewHolder{

        LinearLayout linearLayout;
        TextView txt;
        public viewholder(View view){
            super(view);
            linearLayout = (LinearLayout)view.findViewById(R.id.linearLayout);
            txt = (TextView)view.findViewById(R.id.txt);
        }

    }

}

items class

public class items {

    String title;

    public items(String title){
        this.title = title;
    }

}

MainActivity class

public class MainActivity extends AppCompatActivity {
    RecyclerView rv;
    adapter adapter;
    List<items> list = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list.add(new items("test1"));
        list.add(new items("test2"));
        list.add(new items("test3"));
        list.add(new items("test4"));
        list.add(new items("test5"));
        rv = (RecyclerView)findViewById(R.id.rv);
        rv.setLayoutManager(new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false));
        adapter = new adapter(MainActivity.this,list);
        rv.setAdapter(adapter);
    }
}

I hope I get a good way ...........................................................................................................

Taha Sami
  • 1,565
  • 1
  • 16
  • 43

0 Answers0