• RecyclerView 的点击事件


    Fruit.Class  FruitAdapter.Class   activity_main.Xml和地址里的一样

    http://blog.csdn.net/cccrunner/article/details/70502494


    FruitAdapter.Class

    package com.example.deligence.demo10;
    
    public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder>{
       List<Fruit> mfruitList;
    
        static class ViewHolder extends RecyclerView.ViewHolder {
            View fruitView; //保存子项最外层布局的实例
            ImageView fruitImage;
            TextView fruitName;
            public ViewHolder(View View) {
                super(View);
                fruitView = View;
                fruitImage = (ImageView) View.findViewById(R.id.fruit_image);
                fruitName = (TextView) View.findViewById(R.id.fruit_name);
            }
        }
    
        public FruitAdapter(List<Fruit> mfruitList) {
            this.mfruitList = mfruitList;
        }
    
        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fruit,parent,false);
            final ViewHolder holder = new ViewHolder(view);
            //最外层布局注册了监听事件
            holder.fruitView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int position = holder.getAdapterPosition(); //先从点击事件中获得用户点击的position
                    Fruit fruit = mfruitList.get(position);     //然后通过position拿到Fruit的实例
                    Toast.makeText(v.getContext(),"You click the View"+fruit.getFruitName(),Toast.LENGTH_SHORT).show();
                    //再使用toast弹出两种不同的内容以示区别
                }
            });
            //imageview注册了监听事件
            holder.fruitImage.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int position = holder.getAdapterPosition();
                    Fruit fruit = mfruitList.get(position);
                    Toast.makeText(v.getContext(),"You click the View"+fruit.getFruitName(),Toast.LENGTH_SHORT).show();
                }
            });
    
            return holder;
        }
    
        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            Fruit fruit = mfruitList.get(position);
            holder.fruitImage.setImageResource(fruit.getFruitImageId());
            holder.fruitName.setText(fruit.getFruitName());
        }
    
        @Override
        public int getItemCount() {
            return mfruitList.size();
        }
    
    
    }
    



  • 相关阅读:
    Hive优化
    RDD
    从Hadoop MapReduce到Spark
    Spark on yarn模式
    Hive的web端配置——HWI
    Spark环境搭建
    java身份证号校验
    java手机号码、电子邮箱校验
    服务器运维的日常维护工作
    JavaSSM框架简介
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782034.html
Copyright © 2020-2023  润新知