RecyclerView:点击item跳转到其他活动(《第一行代码》学习笔记)

最近看了郭神的《第一行代码》第三章关于RecyclerView的内容,关于其点击事件,书里只用了Toast作为实例,我们平时用的时候若想点击item跳转到其他活动只需要像往常一样写,调用startActivity的时候在其前面加上"view.getContext()."即可。

如,点击带有“Apple”字样的item则跳转到MainActivity:

    //继承自RecyclerView.Adapter<newFruitAdapter.ViewHolder>的类的其中一个重写方法
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.fruit_item,parent,false);

        final ViewHolder holder=new ViewHolder(view);
        holder.fruitView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                int position=holder.getAdapterPosition();
                Fruit fruit=mFruitList.get(position);
                Toast.makeText(view.getContext(),"1、you click view "+fruit.getName()
                        ,Toast.LENGTH_SHORT).show();

                if(fruit.getName().contains("Apple")){
                    Intent intent=new Intent(view.getContext(), MainActivity.class);
                    view.getContext().startActivity(intent);
                }
            }
        });

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是 Kotlin 代码示例: 1. 在 RecyclerViewAdapter 中为每个 item 添加点击事件监听器: ```kotlin class MyAdapter(private val context: Context, private val itemList: List<Item>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() { // 1. 定义一个点击事件监听器接口 interface OnItemClickListener { fun onItemClick(item: Item) } // 2. 声明一个 OnItemClickListener 变量 private var listener: OnItemClickListener? = null // 3. 提供一个公共的设置监听器的方法 fun setOnItemClickListener(listener: OnItemClickListener) { this.listener = listener } // ... override fun onBindViewHolder(holder: ViewHolder, position: Int) { val item = itemList[position] holder.bind(item) // 4. 为 item 添加点击事件监听器 holder.itemView.setOnClickListener { listener?.onItemClick(item) } } // ... } ``` 2. 在 Activity 中设置 RecyclerViewAdapter,并实现 OnItemClickListener 接口: ```kotlin class MainActivity : AppCompatActivity(), MyAdapter.OnItemClickListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val itemList = // 从数据源中获取 item 列表 val recyclerView = findViewById<RecyclerView>(R.id.recyclerView) recyclerView.layoutManager = LinearLayoutManager(this) val adapter = MyAdapter(this, itemList) recyclerView.adapter = adapter // 5. 设置 OnItemClickListener adapter.setOnItemClickListener(this) } // 6. 实现 OnItemClickListener 接口的方法,跳转到相应的 Activity override fun onItemClick(item: Item) { val intent = Intent(this, ItemDetailActivity::class.java) intent.putExtra("item_id", item.id) startActivity(intent) } } ``` 以上就是 Kotlin 中 RecyclerView 点击 item 跳转到 Activity 页面的实现方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值