Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当使用setClassName在中指定意图时,应用程序正在崩溃_Android_Android Intent - Fatal编程技术网

Android 当使用setClassName在中指定意图时,应用程序正在崩溃

Android 当使用setClassName在中指定意图时,应用程序正在崩溃,android,android-intent,Android,Android Intent,为什么这个代码会崩溃?当我把它用作 意向i=新意向(本活动B) 这里的“b”是具有OnClickListener的按钮,“c”是要打开的活动 b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(); i.setClassName("exam

为什么这个代码会崩溃?当我把它用作 意向i=新意向(本活动B)

这里的“b”是具有OnClickListener的按钮,“c”是要打开的活动

    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent();
            i.setClassName("example.main",".c");
            startActivity(i);
        }
    });

setClassName将包上下文作为第一个参数,将类作为第二个参数
setClassName(Context-packageContext,String-className)


你必须像这样正确地给出它

Intent intent = new Intent();
intent.setClassName("com.example.pkg1", "com.example.pkg1.Act1");
startActivity(intent);
您正在使用,因此在您的情况下,您需要做的是:

i.setClassName(applicationId,"example.main.c");

其中applicationId是应用程序的组件名(基本上是您在gradle/manifest config中为应用程序声明的包名)

是否使用类指定完整的包名?