如何在recyclerview中进行单选

时间:2018-10-05 11:44:58

标签: android android-studio android-recyclerview

我想在recyclerview中进行单选

例如,当我单击LinearLayout时,将红色置于LinearLayout中

此测试代码

适配器类

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);
        }

    }

}

物品类别

public class items {

    String title;

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

}

MainActivity类

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);
    }
}

我希望我有一个好方法 ................................................... ................................................... .......

0 个答案:

没有答案