android - Toast 消息在 Recycler 视图中不起作用
问题描述
此方法绑定列表上的数据:
override fun onBindViewHolder(holder: CustomAdapter.ViewHolder, position: Int) {
holder.bindItems(userList[position])
holder.imgDelete.setOnClickListener(View.OnClickListener {
Toast.makeText(this,"Delete Button Clicked", Toast.LENGTH_SHORT).show()
})
holder.imgCopy.setOnClickListener(View.OnClickListener {
Toast.makeText(this,"Copy Button Clicked", Toast.LENGTH_SHORT).show()
})
}
错误获取:
不能使用提供的参数调用以下函数: public open fun makeText(p0: Context!, p1: CharSequence!, p2: Int): Toast! 在 android.widget.Toast 中定义
请检查并帮助
解决方案
利用
Toast.makeText(<Your Activity Context>,"Copy Button Clicked", Toast.LENGTH_SHORT).show()
代替
Toast.makeText(this,"Copy Button Clicked", Toast.LENGTH_SHORT).show()
你如何获得上下文
Context context;
1-
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
context = recyclerView.getContext();
}
2-
@Override
public CustomAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
context = parent.getContext();
return YourViewHolder;
}
3-
holder.itemView.getContext()
4-
holder.imgDelete.getContext()
5-
在 CustomAdapter 的构造函数中传递活动上下文
推荐阅读
- node.js - 如何使用 Redis 原子地增加价值
- python - 如何从非流式数据流发布订阅
- java - 为具有两个对象的服务方法创建 restController 方法帖子
- javascript - 获取 api javascript 返回 html 代码
- android - 特定密度的Android App Icon Resource ID
- c++11 - 在头文件中声明一个接受 std:array 的函数
- java - 在android O中固定快捷方式时接收回调/广播
- elasticsearch - Elasticsearch:查找至少有 2 个匹配项的文档
- java - 用变量实例化
- javascript - 空闲动画相机 Aframe