我正在将数据从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));
}
});
}
但是它不能解决意图构造器
答案 0 :(得分:1)
而不是此,请尝试mContext
,因为我猜您正在Adapter类中尝试
mContext.startActivity(new Intent(mContext,ReservationForm.class));
答案 1 :(得分:1)
将'this'更改为'mContext';
mContext.startActivity(new Intent(mContext,ReservationForm.class));
答案 2 :(得分:1)
尝试->
Intent intent = new Intent(context, ReservationForm.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mcontext.startActivity(intent);
答案 3 :(得分:1)
为@ S.ambika的答案添加更多内容。
在创建REPAIR TABLE _table_name_ QUICK
时将this
更改为mContext
。
Intent
与使用mContext.startActivity(new Intent(mContext,ReservationForm.class));
时一样,它将提供当前上下文。在您的情况下,this
返回了this
的上下文,并且为了启动新的Activity,我们需要onClick
的上下文。
答案 4 :(得分:0)
尝试一下:
public void bookBtnOnClick(final int position){
mContext.startActivity(new Intent(context, ReservationForm.class));
}
答案 5 :(得分:0)
这怎么样
Intent intent = new Intent (v.getContext(), ReservationForm.class);
v.getContext().startActivity(intent);
答案 6 :(得分:0)
Define Context mContext; on starting of adapter and in constructor use this.mcontext=mcontext;
mContext.startActivity(new Intent(mContext,ReservationForm.class));