为了账号安全,请及时绑定邮箱和手机立即绑定

ActivityNotFoundException:找不到处理 Intent 的活动

ActivityNotFoundException:找不到处理 Intent 的活动

呼如林 2023-04-13 16:57:31
我有一项活动,我们MainActivity称它为SomeAdapter. 在我的适配器代码中@Overridepublic void onBindViewHolder(@NonNull OptionViewHolder holder, final int position) {    final Option o = values.get(position);    holder.textView.setText(o.getOption());    holder.foreGround.setBackgroundColor(o.getOptionLayout().getBackGroundColor());    holder.editOptionButton.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Intent intent = new Intent();            intent.putExtra("option",o);            context.startActivityForResult(intent,1);        }    });}当实际单击 editOptionButton 时,我得到以下堆栈跟踪进程:com.company.app,PID:20916 android.content.ActivityNotFoundException:在 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2007) 上找不到处理 Intent {(有附加功能)} 的活动.execStartActivity(Instrumentation.java:1673) 在 android.app.Activity.startActivityForResult(Activity.java:4586) 在 androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767) 在 android.app.Activity.startActivityForResult( Activity.java:4544) 在 androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754) 在 com.company.app.adapters.OptionsAdapter$1.onClick(OptionsAdapter.java:86)调用的上下文startActivityForResult是MainActivity并且在调用时不是空的并且是活动的(可见的),因为适配器在其中运行。因此,我不知道为什么会弹出这个错误,也不知道我能做些什么。你们中有人可能知道为什么或以前经历过吗?
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您必须像这样包含活动名称


 Intent intent = new Intent(context, SecondActivity.class);

 intent.putExtra("option",o);

 context.startActivityForResult(intent,1);


查看完整回答
反对 回复 2023-04-13
?
青春有我

TA贡献1784条经验 获得超8个赞

第一的

您以错误的方式初始化了意图,您需要按如下方式初始化它:

Intent intent = new Intent(context, SecondActivity.class);

第二

如果结果没有返回到您的 MainActivity 那么您需要在开始第二个活动之前将上下文转换为活动:

((Activity) context).startActivityForResult(intent,1);


查看完整回答
反对 回复 2023-04-13
?
Qyouu

TA贡献1786条经验 获得超11个赞

这意味着意图不知道去哪里。所以给出你想去的上下文和活动名称。


 Intent intent = new Intent(getActivity(), SecondActivity.class);

 intent.putExtra("Key",value);

 startActvity(intent);


查看完整回答
反对 回复 2023-04-13
  • 3 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信