Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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 在Android Studio教程中找不到符号错误?_Java_Android - Fatal编程技术网

Java 在Android Studio教程中找不到符号错误?

Java 在Android Studio教程中找不到符号错误?,java,android,Java,Android,我正在做上面的教程,为了使它能够构建,我必须在src文件夹中的MainActivity.java中注释掉这些行(这些代码位于OnCreate()中的MainActivity类中) 如果我没有注释掉这些行,则会出现“找不到”错误,无法生成,例如: 错误:在工具栏上找不到符号变量 有人能用通俗易懂的英语解释为什么会发生这种情况,以及我如何解决它吗?我尝试了各种import.R修复程序,人们发现这些修复程序可以随机添加到Eclipse中,但都不起作用。我的进口: import android.os.B

我正在做上面的教程,为了使它能够构建,我必须在src文件夹中的MainActivity.java中注释掉这些行(这些代码位于OnCreate()中的MainActivity类中)

如果我没有注释掉这些行,则会出现“找不到”错误,无法生成,例如:

错误:在工具栏上找不到符号变量

有人能用通俗易懂的英语解释为什么会发生这种情况,以及我如何解决它吗?我尝试了各种import.R修复程序,人们发现这些修复程序可以随机添加到Eclipse中,但都不起作用。我的进口:

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

我使用的是Android Studio,就像教程中说的那样,在干净的安装中也会出现同样的错误。是我自动生成的导入吗?教程是否错误,或者与最新的Android Studio不兼容?我的构建设置是否错误?

基于
*.xml
文件中的内容自动生成
R
类,无论它们是字符串、尺寸、颜色、布局中的ID等

当您像这样调用代码时:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_1" />
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_2" />
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_3"  />
    public static final int text_view_1=0x7f0c0066;
    public static final int text_view_2=0x7f0c0067;
    public static final int text_view_3=0x7f0c0068;
您的意思是,“将toolbar变量设置为id为
toolbar
”的小部件

在xml中,假设有三个文本视图,如下所示:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_1" />
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_2" />
<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_view_3"  />
    public static final int text_view_1=0x7f0c0066;
    public static final int text_view_2=0x7f0c0067;
    public static final int text_view_3=0x7f0c0068;
为了从一个非常基本的层面进行解释,
R.java
文件是生成的java代码,用于引用实际java代码中的xml元素

我猜当您在Android Studio中创建一个项目时,它附带了
MainActivity.java
类。这就是你上面发布的代码的来源。默认的
MainActivity.java
类中位于其右上方的部分是

setContentView(R.layout.activity_main);
这是将活动的视图设置为在activity_main.xml中定义的xml布局文件。该布局的内部是以下内容

活动\u main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout 
        android:layout_height="wrap_content"
        android:layout_width="match_parent" 
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
                android:layout_width="match_parent" 
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"         
                android:theme="@style/AppTheme.AppBarOverlay"
                app:popupTheme="@style/AppTheme.PopupOverlay" />
    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main" />

    <android.support.design.widget.FloatingActionButton 
        android:id="@+id/fab"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom" 
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

我猜您的activity_main.xml可能不包含
工具栏
浮动操作按钮
小部件的此定义


如果你真的想从头开始,这样你就可以按照你链接的教程进行操作,你应该删除
MainActivity.java
,然后创建你自己的。

Run>Clean,然后在Android Studio上重新运行'app'或ctrl+F5

我知道这已经很旧了,但我会回答,因为这个教程对Android Studio来说仍然是最好的,这部分解释得很糟糕

OnCreate()创建您在Java中用XML定义的元素,通过创建默认活动,您仍然有一个

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);


在OnCreate中定义,android Studio没有在android.R中创建这些资源,因为您在教程中删除了XML中的这些定义

请发布您在尝试编译时获得的整个堆栈跟踪。是否重建了项目?是否可以包含您的构建。gradleBuilding Main从头开始的活动有帮助,但我仍然经常遇到小部件问题。所以我想换成Qt。