当前位置: 首页 > 知识库问答 >
问题:

尝试从AlertDialog中启动时未找到活动

傅俊德
2023-03-14

当用户触摸AlertDialog中的OK按钮时,我一直试图让我的应用程序返回到主活动。

我显示的警报对话框基本上是一条错误消息,用于通知用户没有找到他们选择并在不是主要活动的活动中调用的特定日期的数据,但我希望他们在单击确定时将其发送回主要活动。

调用运行良好,只是它似乎不知道如何找到主要活动,即使我使用的调用在任何正常活动中都有效。

我得到的错误是:

 1554-1554/org.springframework.android.showcase2 E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=org.springframework.android.showcase2.MainActivity }
        at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545)

特定AlertDialog代码为:

package org.springframework.android.showcase2;

import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MyAlertDialogFragment extends DialogFragment {
    private String title;
    private String message;
    private TextView tvError;

    public MyAlertDialogFragment(String sTitle, String sMessage){
        this.title = sTitle;
        this.message = sMessage;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return new AlertDialog.Builder(getActivity())
                .setTitle(this.title)
                .setMessage(this.message)
                .setPositiveButton("Ok",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            // This is the way I nomally call a new activity inside other activities but seems to not work inside this AlertDialog scope
                            Intent i = new Intent("org.springframework.android.showcase2.MainActivity");
                            startActivity(i);
                        }
                    }
            )
            .create();
    }

}

共有2个答案

宰父淳
2023-03-14

你在这里出错了。您需要将上下文传递到您的Intent

Intent i = new Intent(getActivity(),"org.springframework.android.showcase2.MainActivity");
startActivity(i);

当你这样做时:

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

您正在创建一个明确的意图,指定组件SecondActivity。该方法的签名是Intent(Context-packageContext,Class-clas)。它使用包上下文中的包名称和clas中的类名称来为该组件创建明确的意图。如果在活动中使用此构造函数,则可以将其用作第一个参数,因为活动扩展了上下文。如果从另一个类(如OnClickListener)使用此构造函数,则需要指定MyActivity。这是传递活动实例而不是OnClickListener实例的第一个参数(因为OnClickListener不扩展上下文)。

龙枫
2023-03-14

代码

// This is the way I nomally call a new activity inside other activities but seems to not work inside this AlertDialog scope
Intent i = new Intent("org.springframework.android.showcase2.MainActivity");
startActivity(i);

是不正确的。

当您说new Intent("org.springframework.android.showcase2. Mainactive")时,这意味着您正在启动一个可以处理"org.springframework.android.showcase2. Mainactive"动作的活动。

但在您的情况下,"org.springframework.android.showcase2. Mainactive"表示活动,而不是动作

所以用

Intent i = new Intent(getActivity(), org.springframework.android.showcase2.MainActivity.class);
startActivity(i);

您应该阅读如何开始活动和从片段开始活动。

 类似资料:
  • 自从在macOS上升级到Android Studio4.0后,我一直有这个问题。当我试图从Android Studio启动我的应用程序时,我会得到以下错误: 我的项目有一点独特之处在于,默认活动是在我的项目使用的另一个库的清单中定义的,而不是项目本身。在升级之前,这一切都很好,但现在不适合我。当我打开包含依赖项的项目时,它可以正常构建和运行。我已经尝试了以下步骤: 清理项目,重建 使缓存无效并重新

  • 我尝试使用< code>minikube start启动minikube,但出现以下错误: charlie@charlie:~$minikube start本地库伯内特斯v1.10.0集群…启动VM… E0705 00:39:35.199099 20888start.go:168]启动主机时出错:创建主机时出错:执行步骤出错:运行预先检查。:我们从版本5开始支持Virtualbox。您的Virtu

  • 我正试图通过以下命令从ADB启动服务- 我得到以下回应

  • 问题内容: 当设备在android上启动时,我一直在尝试启动服务,但无法正常工作。我已经看了许多在线链接,但是这些代码都不起作用。我忘记了什么吗? 广播接收器 问题答案: 作为附加信息:BOOT_COMPLETE在挂载外部存储之前发送到应用程序。因此,如果将应用程序安装到外部存储,它将不会收到BOOT_COMPLETE广播消息。

  • 我正在启动Spring启动和激活依赖无法从这个回购https://repo.maven.apache.org/maven2下载 错误-在中心找不到工件org.activiti:activiti spring boot starter:pom:unknown(https://repo.maven.apache.org/maven2)

  • 我正在尝试实现一个Android应用程序,它启动一个子活动,计算我当前位置的坐标。然而,在尝试将数据发送回MainActivity时,我在onActivityResult方法中得到了一个NullPointerException。以下是两个类: } 编辑:这是我的日志 03-13 13:06:59.940 14638-14638/会面。be2015.gcm\U meetup E/AndroidRun