【问题标题】:Starting new activity from recyclerview adapter从 recyclerview 适配器开始新活动
【发布时间】:2020-01-30 19:45:21
【问题描述】:

我正在从 firebase 实时数据库中读取数据到 recyclerview 并且在 recyclerview 项目上有一个按钮来开始一个新的活动。我有这个 onClick 方法

public void bookBtnOnClick(final int position){
        mBookButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mContext.startActivity(new Intent(this,ReservationForm.class));
                }
        });
    } 

但它无法解析意图构造函数

【问题讨论】:

  • 你的错误信息是什么。

标签: java android firebase android-intent


【解决方案1】:

尝试-->

Intent intent =  new Intent(context, ReservationForm.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mcontext.startActivity(intent);

【讨论】:

    【解决方案2】:

    而不是 this 尝试mContext,因为我猜你正在适配器类中尝试它

      mContext.startActivity(new Intent(mContext,ReservationForm.class));
    

    【讨论】:

      【解决方案3】:

      'this'改为'mContext'

      mContext.startActivity(new Intent(mContext,ReservationForm.class));
      

      【讨论】:

        【解决方案4】:

        为@S.ambika 的回答添加更多内容。

        在创建Intent 时将this 更改为mContext

        mContext.startActivity(new Intent(mContext,ReservationForm.class));
        

        当你使用this 时,它会给出当前上下文。在您的情况下,this 正在返回 onClick 的上下文,并且要启动一个新 Activity,我们需要 Activity 的上下文。

        【讨论】:

          【解决方案5】:

          试试这个:

          public void bookBtnOnClick(final int position){
               mContext.startActivity(new Intent(context, ReservationForm.class));
          } 
          

          【讨论】:

            【解决方案6】:

            这个怎么样

            Intent intent = new Intent (v.getContext(), ReservationForm.class);
            v.getContext().startActivity(intent);
            

            【讨论】:

              【解决方案7】:
              Define Context mContext;  on starting of adapter and in constructor use this.mcontext=mcontext;
              

              mContext.startActivity(new Intent(mContext,ReservationForm.class));

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-11-07
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多