Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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
Java 找不到符号类意图_Java_Android_Android Intent - Fatal编程技术网

Java 找不到符号类意图

Java 找不到符号类意图,java,android,android-intent,Java,Android,Android Intent,我是android开发和编码java和xml的新手 但我遵循了本教程: 然后我在使用Intent时出现了这个错误。开关下的“意图”一词变为红色,出现错误“找不到符号类意图” 有人能给我解释一下发生了什么事以及如何解决这个问题吗 这是我在AlarmListActivity.java下代码的最后一部分 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId();

我是android开发和编码java和xml的新手

但我遵循了本教程:

然后我在使用Intent时出现了这个错误。开关下的“意图”一词变为红色,出现错误“找不到符号类意图”

有人能给我解释一下发生了什么事以及如何解决这个问题吗

这是我在AlarmListActivity.java下代码的最后一部分

@Override

public boolean onOptionsItemSelected(MenuItem item) {

   int id = item.getItemId();
   if (id == R.id.action_settings) {
       return true;
   }

   switch (item.getItemId()) {
       case R.id.action_add_new_alarm: {
           Intent intent = new Intent(this,
                   AlarmDetailsActivity.class);

            startActivity(intent);
            break;
        }
    }
    return super.onOptionsItemSelected(item);
}

再次查看AlarmListActivity并检查顶部的导入语句,确保其中包含以下行:

import android.content.Intent;
如果您打算使用任何不属于
java.lang
包的预先存在的类,通常必须导入这些类。例如,Android
Intent
是一个预构建的类,由Android开发团队编写,允许通知其他应用程序/活动。如果要使用
Intent
,则必须导入包含Intent的包

当您编写
new Intent()
时,编译器会看到您正在请求构造一个新对象,但由于在
java.lang
包中找不到该对象,因此它需要知道在何处查找构建该对象的蓝图。import语句是该蓝图的位置


我看了一下教程,以经验丰富的程序员的方式,作者似乎忽略了一些基本但重要的事情,例如使其示例代码工作的导入语句。

我遇到了一个我刚刚解决的问题,通过理解安卓Studio如何索引文件,正如您所知,构建Android应用程序是一个相当复杂的过程。所以Android studio有一些内部引用,它会在您创建的每个文件发生更改时不断更新这些引用

我是在寻找解决方案的时候来到这个岗位的

这就是我遇到这个问题的原因

我通常不会在主项目包下创建活动,我创建子包以按照我使用的设计模式组织文件,例如,如果我的应用程序名为com.example.testingaravin,那么我通常会在其中创建活动、服务、模型、经理等包。。。所以今天我首先创建了一个活动,然后通过Android Studio将该活动移动到activites包中,我开始面临与您描述的相同的问题,下面是我的源代码

    public class BootstrapActivity extends ActionBarActivity {

        private static final String TAG = "BootstrapActivity";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bootstrap);
        }

        public void startServiceOnClickHandler(View view) {

            Intent intent = new Intent(BootstrapActivity.this , AnalyzerService.class);
            startService(intent);
        }
}
在方法startServiceOnClickHandler中,它显示了一个错误,表示, “无法解析构造函数意图”我在谷歌搜索了很多,发现

当我将一个文件从一个包移动到另一个包时,我的清单文件不会得到更新,在清单中,我们提到了活动名称及其包路径,在我的例子中,它应该是

   android:name=".activities.BootstrapActivity"
但确实如此

   android:name=".BootstrapActivity"
因此,Android studio不知道activities文件夹中存在一个名为BootstrapActivity的类

这似乎是android studio工作方式中的一个缺陷。当我将活动类文件从一个包移动到另一个包时,Android Studio必须更新manifestfile


我发布这篇文章是为了帮助其他有类似用例的人

这里的Intent不是红色的,但在我的java中是红色的。怎么了?我还有以下错误消息错误:任务执行失败“:app:compiledBugJava”。>编译失败;有关详细信息,请参阅编译器错误输出。这是什么?那个错误消息不是错误。这只是一个通知,说明您无法编译存在错误的类。非常感谢。我想它起作用了。但现在“意图”和“警报细节活动”这两个词变成了黑色。它们应该是蓝色的吗?还是没关系?你能给我简单解释一下进口吗?我需要多久导入一次?我如何知道是否需要导入某些内容以及要编写什么?我提到的错误也消失了,所以我认为它很好。看看这个,了解更多关于导入的信息。我没有仔细看它,但乍一看,它似乎涵盖了所有的基础。如果这个答案对你有帮助,请点击旁边的复选标记,这样将来看到这个问题的人就会知道什么是有效的。如果您还有其他问题,请随时单独发布。谢谢您的回答。这对我进一步了解安卓开发非常有帮助。话虽如此,我的问题实际上只是没有导入意图。我刚开始学习android开发时就遇到了这个问题。但是谢谢你的回答。它很有教育意义,将来会很有用。