簡體   English   中英

ActivityNotFoundException:沒有找到處理 Intent {(有額外功能)} 的活動

[英]ActivityNotFoundException: No Activity found to handle Intent { (has extras) }

我有一個活動,我們稱之為MainActivity ,它有一個SomeAdapter 在適配器的代碼中,我有

@Override
public 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) 在 android.app.Instrumentation 沒有找到處理 Intent { (has extras) } 的活動.execStartActivity(Instrumentation.java:1673) at android.app.Activity.startActivityForResult(Activity.java:4586) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767) at 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並且在調用時不是 null 和活動的(可見),因為適配器在其中運行。

因此,我不知道為什么會彈出這個錯誤,也不知道我能做些什么。 你們中有人知道為什么或以前經歷過嗎?

您必須像這樣包含活動名稱

 Intent intent = new Intent(context, SecondActivity.class);
 intent.putExtra("option",o);
 context.startActivityForResult(intent,1);

第一的

您以錯誤的方式初始化意圖,您需要按如下方式初始化它:

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

第二

如果結果沒有返回到您的 MainActivity,那么您需要在開始第二個活動之前將上下文轉換為活動:

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

這意味着意圖不知道去哪里。 因此,請提供您想去的上下文和活動名稱。

 Intent intent = new Intent(getActivity(), SecondActivity.class);
 intent.putExtra("Key",value);
 startActvity(intent);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM