android - 在 RecyclerView Fragment 上使用 setOnClickListener 移动到另一个活动
问题描述
我想(1)传递位置变量并(2)在单击项目时打开一个新活动。
我发现我需要创建Activity
变量才能使用Intent
,我还发现我可以使用putExtra
来传递位置变量。
虽然下面的代码适用于regular_activity.java,但它不适用于fragment.java。当我打开这个片段时,它会完全关闭应用程序。
@Override
public void onClick(View view) {
Intent int_detail = new Intent(activity, bottom_nav_search_details.class);
int_detail.putExtra("position", position);
activity.startActivity(int_detail); }
以防万一有人觉得有用,这里有更长的代码行。当我删除上述部分(意图部分)时,一切正常——当我点击不同的项目时,日志成功显示不同的位置。
private Activity activity;
@Override
public void onBindViewHolder(@NonNull ExampleViewHolder holder, final int position) {
final ExampleItem currentItem = exampleList.get(position);
holder.imageView.setImageResource(currentItem.getImageResource());
holder.textView1.setText(currentItem.getText1());
holder.parentLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(TAG, "Clicked " + position);
Intent int_detail = new Intent(activity, bottom_nav_search_details.class);
int_detail.putExtra("position", position);
activity.startActivity(int_detail);
}
});
}
解决方案
推荐阅读
- verilog - ALU NOOP 案例推断闩锁:这可以吗?
- apache-spark - Pyspark 高阶函数 - 一次在结构数组中求和 2 个值?
- docker - 外部 IP 是
在 Kubernetes 服务中 - javascript - 仅在 Android React-Native (expo) 中的行首图像定位
- javascript - Vue - 仅对 v-for 数组中新添加的元素执行操作
- phpmyadmin - 如何解决那些 phpmyadmin 错误?
- google-apps-script - Google 表格应用程序脚本 | While 循环直到第一列中有两个连续的空单元格
- typescript - 将迭代器结果键入元组
- python - GeoPackage 格式的 Geopandas 快速读取切片
- gitlab - Gitlab CI/CD 通用包文件过期时间