如何在recycler视图中访问MainActivity的组件来制作onclick监听器?

2023-12-02

enter image description here

我创建了类似 YouTube 的应用程序,其中包含一个视频视图(顶部)和回收器视图(视频视图下方)。我陷入困境,我想在 recyclerview 项目上创建 onclicklistner 并更改视频路径来更改视频,但是如何访问适配器类中的 videoview 组件(在 mainactivity 中创建)来设置 videoview 的路径?


定义项目点击事件的接口:

interface OnAdapterItemClickListener {
    void onAdapterItemClickListener(int position);
}

让您的 Activity 实现并重写其方法:

public class MaiActivity extends AppCompatActivity implements OnAdapterItemClickListener {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ...
        RecyclerView recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setAdapter(new Adapter(this));
    }

    @Override
    public void onAdapterItemClickListener(int position) {
        //CALL YOUR VIDEO PLAYER OR ANY OTHER COMPONENT AND VIEW
    }

}

在你的Adapter和ViewHolder中为每个ViewHolder定义一个点击监听器然后调用我们定义的接口。

public class Adapter extends RecyclerView.Adapter<Adapter.MyViewHolder> {

    private OnAdapterItemClickListener adapterItemClickListener = null;

    public Adapter(OnAdapterItemClickListener listener) {
        this.adapterItemClickListener = listener;
    }

    class MyViewHolder extends RecyclerView.ViewHolder implements OnClickListener {

        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            adapterItemClickListener.onAdapterItemClickListener(getAdapterPosition());
        }
    }


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

如何在recycler视图中访问MainActivity的组件来制作onclick监听器? 的相关文章

  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 在 Java 中创建带注释的对象时收到通知

    Intent 我有一个自定义 Java 注释 DynamicField public class RESTEndpointInvoker DynamicField key httpTimeout private long httpTimeo
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • selenium webdriver 中的多个程序执行不起作用

    Selenium WebDriver 中的多个程序执行不起作用 我编写了 1 个 testNG xml 文件和 2 个 java 类 我尝试从 xml 文件运行这两个 java 类 但这不起作用 XML代码
  • 两条腿的 OAuth 和 Gmail Atom feed

    我们正在尝试让 2 legged OAuth 与 Gmail Atom feed 一起使用 我们使用 John Kristian Praveen Alavilli 和 Dirk Ba lfanz 贡献的 Java 库 http oauth
  • 如何将空字符串编组到单个标签

    我有我的对象 配置了代码 object setName 编组为以下 XML
  • Fresco:滚动 RecyclerView 后图像消失

    我有一个 Horizo ntal RecyclerView 每个项目都有一个使用 Facebook Fresco 图像库加载到其中的图像 然而 虽然正确的图像最初是在屏幕上滚动一点时加载的 但当 RecyclerView 进一步滚动时 它就
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • java中日期转换dd-MMM-yyyy到dd-MM-yyyy

    在Java中将23 Mar 2011转换为23 03 2011的最简单方法是什么 感谢大家 这似乎解决了这个问题 try Calendar cal Calendar getInstance cal setTime new SimpleDat
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • 春季MVC。方法参数字段的默认值

    我有一个带有方法测试的简单控制器 RequestMapping produces application json ResponseBody public HttpEntity
  • Android 两个 Activity 之间的共享元素转换不起作用

    在我的应用程序中 我尝试使用新引入的活动之间共享的元素 如果共享元素具有固定位置 例如 android layout gravity top 但是当视图被锚定时问题就出现了 我的第一个活动如下所示
  • javax.xml.bind.JAXBException: 类 *** 及其任何超类在此上下文中均未知

    我正在尝试通过 REST Web 服务传递对象 以下是我的课程 使用一些示例代码解释了我需要的功能 Rest Web 服务类方法 POST Path find Consumes MediaType APPLICATION FORM URLE
  • Java 验证日期为 yyyyMMddHHmmss

    我想在java中验证给定的日期格式为yyyyMMddHHmmss 状况 应符合格式 yyyyMMddHHmmss 它应该验证当前日期 它应该验证与当前小时有 3 小时或 3 小时差异的小时数 如果满足所有三个条件 Java 方法应返回 tr
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • 带有工具提示的搜索栏 android

    Hi All 我正在尝试使用工具提示自定义 android 搜索栏 如给定的图像 有没有办法在搜索栏中添加带有拇指的文本视图 或任何其他想法 Thanks 我们可以通过拇指的界限来做到这一点 并在seekbar的progressChange
  • 如何以编程方式检测android中可用的底部软导航栏?

    我试图通过 android 程序确定软导航栏 我没有找到直接的方法来确定 有没有办法找到导航栏的可用性 软导航栏图像在这里 以下方法对我有用并在许多设备上进行了测试 public boolean hasNavBar Resources re
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 阻止对 docker 容器的外部访问[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想阻止从外部直接访问 docker 容器 我使用 haproxy 希望只允许访问端口 80 443 我在 iptables 中添加了以下规则 但我仍然可以通过不同的端口访问 doc
  • 在类中使用 boost::numeric::odeint

    对于模拟 我使用 boost numeric odeint 但遇到问题 我在我的一个类的方法中使用集成函数 但出现 没有匹配的函数可用于调用集成 的错误 为了更清楚 这是我的代码的压缩版本 include MotionGeneration
  • C 编译器错误:未定义的函数引用

    执行 exe 后 我收到此错误 对 StudentScan 的未定义引用错误 ld 返回 1 退出状态 注意 我的编码能力很差 而且是新手 所以请不要介意我的糟糕编码 注2 我只是在搞乱随机函数 include
  • WP7:将加速度计和指南针数据转换为模拟运动 API

    我正在为 Windows Phone 7 1 Mango 编写一个小型示例应用程序 并希望使用组合运动 API 来显示设备的运动 我需要编写模拟类 以便在使用不支持设备所有传感器的模拟器时能够测试我的应用程序 我已经编写了一个简单的模拟类来
  • Android:使用辅助服务读取 Google chrome URL

    我想读取用户在浏览器中输入的网址 这是我的无障碍服务代码
  • Django 管理员:如何将更多字段显示为链接?

    Django 的默认管理页面会自动将每个表的第一个标题设为编辑信息的链接 见下文 单击ID列数据将带您进入编辑所选表中字段的页面 在本例中Applicants 有没有办法改变这个设置 以便Surname是要编辑的链接 而不是ID 非常感谢
  • 使用 Ruby,获取给定 URL 的内容类型的最有效方法是什么?

    使用 Ruby 获取给定 URL 的内容类型的最有效方法是什么 如果我想要简单的代码 这就是我要做的 require open uri str open http example com str content type gt text h
  • 在空手道中设置全局配置值

    我正在尝试的是从功能文件中设置全局 karate config 值 我有一些与此非常相似的东西https github com intuit karate blob master karate demo src test java demo
  • 在组装战争中包含 Maven 依赖项?

    我正在创建一个程序集packaging war 我需要包含一些 jar 它们已在我的 war 中的 pom xml 中声明为项目依赖项 web inf lib 我怎样才能做到这一点 编辑于 15 10 我的项目创建了很少的程序集 其中之一应
  • Enter 键按下的行为类似于 JSF 中的提交

    如何使 Enter 键按下的行为类似于 JSF 中的提交 它与输入框一起使用 但不适用于输入秘密框 我以前没见过这个问题 此行为不太可能是特定于浏览器的 尝试在不同类型的浏览器中排除其中一种或另一种 IE6 7 8 FF Safari Ch
  • 在PythonunittestTestLoader中指定具体的测试用例

    我有以下文件夹结构 Unit smoke py Test1 Test1 py Test2 Test2 py 两个测试文件各有两个测试用例 File smoke py包含 suite1 unittest TestLoader discover
  • errno、strerror 和 Linux 系统调用

    我可以用strerror 获取文本表示errno使用 CRT 函数后的值 例如fopen 如果我使用open Linux系统调用代替CRT函数 它还设置errno失败时的价值 申请是否正确strerror 对此errno价值 如果没有 是否
  • 找不到有效的签名身份?

    我已经尝试用 mono 创建一个发行版本已经好几天了 我从我们的 团队代理 那里获得了发行配置文件和发行证书 并分别拖放到 xcode organizer 和 keychain access 上 但是仍然有警告消息显示 在您的钥匙串中找不到
  • Java解压字节数组

    在服务器 C 上 二进制数据使用以下方式压缩ZLib功能 compress2 并将其发送到客户端 Java 在客户端 Java 应使用以下代码片段解压缩数据 public static String unpack byte packedBu
  • SPARQL 中的幂(指数)和其他数学函数支持

    I am trying to write a SPARQL query where I want to filter on the square of something but I am simply unable to figure o
  • 如何使默认 bin 目录在 Eclipse 中可见? [复制]

    这个问题在这里已经有答案了 可能的重复 我该怎么做才能在 eclipse 上显示 bin 文件夹 我知道这是一个searing的重复项this问题 但是该问题中提供的答案对我不起作用或对我没有任何帮助 我正在尝试获取项目的默认输出文件夹 b
  • 更改资源字典中的 SolidColorBrush#Color 失败:属性为只读 [重复]

    这个问题在这里已经有答案了 我有一个SolidColorBrushApp xaml 中的资源如下所示
  • wireshark 如何在同一端口上使用两个 lua 解析器正确解析

    我正在编写lua脚本作为wireshark 1 12 4 插件来剖析我的私有协议 我有两个协议 我为每个协议编写一个lua脚本 两个lua脚本看起来如下 local my pro Proto MyPro My Protocol local
  • 程序从哪里分配内存?

    作为一名 C 和 C 程序员 我使用过malloc and new来分配内存 我只是想知道 操作系统如何分配内存 它是从 RAM 硬盘还是其他地方分配 我可以从硬盘借用内存以防万一吗 它实际上比你想象的要复杂得多 操作系统以 页面 的形式考
  • 如何在recycler视图中访问MainActivity的组件来制作onclick监听器?

    我创建了类似 YouTube 的应用程序 其中包含一个视频视图 顶部 和回收器视图 视频视图下方 我陷入困境 我想在 recyclerview 项目上创建 onclicklistner 并更改视频路径来更改视频 但是如何访问适配器类中的 v