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