RecyclerView适配器中的onBackPressed()

凯文

我正在为RecyclerView创建适配器;当前为RecyclerView中的项目创建一个onClickListener;我希望返回一个似乎无法执行的片段,因此我尝试在方法中添加onBackPressed()和super.onBackPressed,因为该片段在上一页中;我在onClickListener中调用了此方法,但似乎无法正常工作,有什么想法可以解决此问题?

代码如下:

公共类MyViewHolder扩展了RecyclerView.ViewHolder {TextView text1,text2,text3;

public MyViewHolder(@NonNull View itemView) {
  super(itemView);
  itemView.setOnClickListener(new View.OnClickListener() {
    @Override public void onClick(View v) {
    // This onClick doesn't accept onBackPressed() or popBackStack(), however I need to get this to the previous page which is a fragment.
    }
  });
沃伦·菲斯

您需要将OnClickListener(或自定义的回调接口)传递给适配器,然后传递给每个ViewHolder。调用viewholder onClick后,您将调用传递的侦听器,然后该侦听器会冒泡直至创建适配器的Fragment / Activity。

一个很好的例子可以在这个答案中找到:https : //stackoverflow.com/a/28304164/180538

当然,您可以在此传递的onClickListener中调用onBackPressed()或您要在此处执行的任何代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章