我有一項活動,我們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)調(diào)用的上下文startActivityForResult是MainActivity并且在調(diào)用時不是空的并且是活動的(可見的),因為適配器在其中運行。因此,我不知道為什么會彈出這個錯誤,也不知道我能做些什么。你們中有人可能知道為什么或以前經(jīng)歷過嗎?
3 回答

慕田峪4524236
TA貢獻1875條經(jīng)驗 獲得超5個贊
您必須像這樣包含活動名稱
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra("option",o);
context.startActivityForResult(intent,1);

青春有我
TA貢獻1784條經(jīng)驗 獲得超8個贊
第一的
您以錯誤的方式初始化了意圖,您需要按如下方式初始化它:
Intent intent = new Intent(context, SecondActivity.class);
第二
如果結(jié)果沒有返回到您的 MainActivity 那么您需要在開始第二個活動之前將上下文轉(zhuǎn)換為活動:
((Activity) context).startActivityForResult(intent,1);

Qyouu
TA貢獻1786條經(jīng)驗 獲得超11個贊
這意味著意圖不知道去哪里。所以給出你想去的上下文和活動名稱。
Intent intent = new Intent(getActivity(), SecondActivity.class);
intent.putExtra("Key",value);
startActvity(intent);
添加回答
舉報
0/150
提交
取消