RecyclerView OnClick 位置

2024-05-03

我正在尝试获取我的点击项目的位置RecyclerView。然而,这有点奇怪,只让我在点击时记录位置,而不让我做一个Toast的位置。看这里:

public class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder>{

private List<Country> countries;
private int rowLayout;
private Context mContext;



public MainAdapter(List<Country> countries, int rowLayout, Context context) {
    this.countries = countries;
    this.rowLayout = rowLayout;
    this.mContext = context;
}

public static class ViewHolder extends RecyclerView.ViewHolder{
    public TextView countryName;


    public ViewHolder(View itemView) {
        super(itemView);
        countryName = (TextView) itemView.findViewById(R.id.countryName);

        itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("RecyclerView", "onClick:" + getPosition());
                //Toast.makeText(v.getContext(),getPosition(), Toast.LENGTH_LONG).show();
            }
        });

    }


}


@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
    View v = LayoutInflater.from(viewGroup.getContext()).inflate(rowLayout, viewGroup, false);
    return new ViewHolder(v);

}


@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
    Country country = countries.get(position);
    viewHolder.countryName.setText(country.name);
}


@Override
public int getItemCount() {
    return countries == null ? 0 : countries.size();
}
}

如果我取消注释Toast单击某个项目时的位置,应用程序将崩溃,但日志似乎工作正常。我怎样才能修复它,这样我就可以Toast单击时项目的位置?


我需要查看您要确定的错误消息,但这可能是因为您将错误的参数传递给了Toast.

Your Toast看起来像这样:

Toast.makeText(v.getContext(), getPosition(), Toast.LENGTH_LONG).show();

getPosition返回一个int,以及makeText()方法期待一个String对于第二个参数。

改变你的Toast对此:

Toast.makeText(v.getContext(), "Position: " + getPosition(), Toast.LENGTH_LONG).show();

Update:

getPosition现在已弃用,您可以使用getLayoutPosition

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RecyclerView OnClick 位置 的相关文章

随机推荐

  • 如何在 Elixir 或 Phoenix 框架中安排代码每隔几个小时运行一次?

    假设我想每 4 小时发送一堆电子邮件或重新创建站点地图或其他任何内容 我该如何在 Phoenix 或仅使用 Elixir 做到这一点 有一个简单的替代方案 不需要任何外部依赖项 defmodule MyApp Periodically do
  • 离子和电容器 - Android 启动画面响应能力

    Context 这与闪屏图像响应能力有关 根据我的研究 它之所以发生是因为缺少文档电容器文档 启动画面 https capacitorjs com docs apis splash screen Problem 当实现电容器的闪屏插件时 问
  • 在 JavaScript 中给变量字符串加上引号

    我有一个 JavaScript 变量 var text http example com 文本可以是多个链接 如何在变量字符串周围放置 例如 我希望字符串看起来像这样 http example com var text http examp
  • 遍历 globals() 字典

    我 尝试 使用globals 在我的程序中迭代所有全局变量 我就是这样做的 for k v in globals iteritems function k v 当然 这样做时 我只是创建了另外 2 个全局变量 k and v 所以我得到这个
  • 为 MoonAPNS 创建 p12 文件时卡住了

    我在创建 p12 证书时遇到一些问题 我之前创建了一个带有推送通知的应用程序 效果很好 应用程序获取用户设备 ID 并将其保存到数据库中 我已将代码添加到我的新应用程序中 并进行了与新应用程序一起使用的修改 从日志来看 它的工作方式似乎与我
  • 如何以编程方式使用 TestNG 运行 Selenium Java 测试?

    我使用 Selenium RC 和 Java 使用 TestNG 作为测试框架 我使用 Eclipse 作为 IDE 我想非常轻松地从我自己的程序中调用 TestNG 我怎样才能做到这一点 我的以下 Java 代码运行良好 Test pub
  • Angular 8 - 删除 ng-component 标签 - 表行模板

    我有一个灵活的表格组件 有两种模式 普通表 有效 自定义行模板 这不是因为角度添加
  • firebase函数链中间件

    有没有办法像 Express 一样在 普通 firebase 函数上链接中间件 ordinary 功能 addNote https onRequest req res next gt addNote req res next using e
  • 打包用来部署跨平台?

    在 Windows 上 应用程序通常打包为 MSI 在 Redhat Linux 上打包为 RPM 可用于将应用程序部署到所有平台 包括不同风格的 UNIX 和 Windows 的最佳开源打包方法是什么 内容包括 exe unix 二进制文
  • 多个指令 [myPopup、myDraggable] 请求新的/隔离的范围

    我编写了一个对话框指令 myPopup 和另一个用于拖动此对话框的指令 myDraggable 但我总是收到错误 多个指令 myPopup myDraggable 请求新的 隔离的范围 这是一个笨蛋 http plnkr co edit k
  • 从 Julia 中的文本文件读取数据矩阵

    我有一个包含矩阵的文本文件 我想在朱莉娅中将其作为矩阵来阅读 文本文件如下 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 在 matlab 中 您可以执行以下操作来创建矩阵M
  • Cloudfront函数总是返回503

    如何为 Cloudfront 上的静态托管网站的子目录设置默认根对象 https stackoverflow com questions 31017105 how do you set a default root object for s
  • 基于动态集合视图的 UITableView 的动态高度

    我必须添加一个UICollectionView里面一个UITableViewCell The collectionView可以有不同数量的项目 所以collectionView应在内部适当调整tableView 我已经在我的项目中实现了这个
  • 在 Android 应用程序中读取 CSV 文件

    我正在开发一个概念验证应用程序 以便我可以在我正在制作的更大的应用程序中实现该功能 我对 Java 和 Android 开发有点陌生 但希望这个问题不会太简单或太复杂 基本上 我试图从 CSV 文件中读取字符串列表 并使其可用于在应用程序的
  • jquery 工具提示在我的页面中添加 div role="log"

    我对 jquery tooltip 有一个奇怪的问题 我正在使用下面的代码
  • Kubernetes 1.8 支持的 Docker 版本

    我要将我的 Kubernetes 集群升级到该版本1 8 7 有谁知道哪个 docker 版本与其最兼容 这是我在 Kubernetes 官方页面上找到的 但我想它可能是针对最新的 k8s 版本的 1 9 在每台计算机上安装 Docker
  • 如何在中间人的部分内容中渲染部分内容

    我有一些 Haml 部分 其中许多包含样板 container row col lg 12 当我尝试将其抽象出来时 partial site section I get syntax error unexpected keyword end
  • Powershell 范围处理 v2/v3 的未记录更改?

    背景 我一直在编写一个 powershell 脚本 用于将文件从 Windows Server 08 使用 Powershell 2 x 上的 Sharpoint 2010 实例迁移到 Windows Server 12 使用 Powers
  • Android 设计导航抽屉 - 如何在 nav xml 中添加开关?

    我正在使用新的 Android 设计导航抽屉 我想在抽屉里加一个开关 有办法实现这个吗 这是菜单 xml menu menu
  • RecyclerView OnClick 位置

    我正在尝试获取我的点击项目的位置RecyclerView 然而 这有点奇怪 只让我在点击时记录位置 而不让我做一个Toast的位置 看这里 public class MainAdapter extends RecyclerView Adap