【问题标题】:"Cannot resolve symbol R" but app builds with no errors“无法解析符号 R”,但应用程序构建时没有错误
【发布时间】:2018-10-27 14:24:41
【问题描述】:

我遇到了与其他人在 SO 上遇到的问题相同的问题。在我的项目中,android studio 说它无法解析符号 R。

奇怪的是它构建得很好。我的问题类似于 SO 上的this 帖子。

他的回答中唯一提到的是,与他人合作时可能会出现此问题,并且由于错误,我不得不从 GitHub 下载项目的主副本。

我在我的项目中尝试了以下方法:

清洁项目 重建项目。 重命名所有拼写错误的文件(helloworld 到 hello_world) 将项目名称从 MyApp-Master 更改为原始名称 MyApp。 运行 android lint 以查找代码语法中的任何错误并修复它们 使用值而不是硬编码属性

我还梳理了 SO 帖子 herehere 但不幸的是这些建议没有帮助。

我正在使用 android studio 3.2.1

我没有包括所有未解析 R 的类,因为它在所有类中。 但这里是 MainActivity.class

   package com.example.cohen.theepiccalculator;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {


     private DrawerLayout drawerLayout;
     private int drawerId;


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

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

        setSupportActionBar(toolbar);
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setDisplayHomeAsUpEnabled(true);
        }
        if (actionBar != null) {
            actionBar.setHomeAsUpIndicator(R.drawable.ic_button_drop_down);
        }


        drawerLayout = findViewById(R.id.drawer_layout);


        NavigationView navigationView = findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                drawerId = menuItem.getItemId();
                menuItem.setChecked(true);
                selectItem(drawerId);
                drawerLayout.closeDrawers();
                return true;
            }
        });


    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case android.R.id.home:
                drawerLayout.openDrawer(GravityCompat.START);
                return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private void selectItem(int position){


        switch (position){
            case R.id.nav_currency :
                Intent intentC = new Intent(MainActivity.this, InputActivityCurrency.class);
                startActivity(intentC);
                Toast.makeText(MainActivity.this,"Currency", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_length :
                Intent intentL = new Intent(MainActivity.this, InputActivityLength.class);
                startActivity(intentL);
                Toast.makeText(MainActivity.this,"Length", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_weight :
                Intent intentW = new Intent(MainActivity.this, InputActivityWeight.class);
                startActivity(intentW);
                Toast.makeText(MainActivity.this,"Weight", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_temp :
                Intent intentT = new Intent(MainActivity.this, InputActivityTemperature.class);
                startActivity(intentT);
                Toast.makeText(MainActivity.this,"Temp", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_area :
                Intent intentA = new Intent(MainActivity.this, InputActivityArea.class);
                startActivity(intentA);
                Toast.makeText(MainActivity.this,"Area", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_speed :
                Intent intentS = new Intent(MainActivity.this, InputActivitySpeed.class);
                startActivity(intentS);
                Toast.makeText(MainActivity.this,"Speed", Toast.LENGTH_SHORT).show();
                break;
            case R.id.nav_vol :
                Intent intentV = new Intent(MainActivity.this, InputActivityVolume.class);
                startActivity(intentV);
                Toast.makeText(MainActivity.this,"Vol", Toast.LENGTH_SHORT).show();
                break;

        }


    }
}

这里是相关的activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/bluetwo"
    android:fitsSystemWindows="true"
    android:id="@+id/drawer_layout">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <include

            android:id="@+id/tbar"
            layout="@layout/my_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">


        <Button
            android:id="@+id/equels"
            android:layout_width="101dp"
            android:layout_height="183dp"
            android:layout_alignBottom="@id/point"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:background="@drawable/ic_button_equals_orange" />

        <Button
            android:id="@+id/eight"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toRightOf="@id/seven"
            android:layout_toEndOf="@id/seven"
            android:layout_alignBottom="@id/seven"
            android:background="@drawable/ic_button_eight_blue"
            android:layout_marginLeft="1dp"
            android:layout_marginStart="1dp" />

        <Button
            android:id="@+id/nine"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignBottom="@id/eight"
            android:layout_marginStart="1dp"
            android:layout_toEndOf="@id/eight"
            android:layout_toRightOf="@id/eight"
            android:background="@drawable/ic_button_nine_blue"
            android:layout_marginLeft="1dp" />

        <Button
            android:id="@+id/times"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toEndOf="@id/persent"
            android:layout_toRightOf="@id/persent"
            android:layout_alignBottom="@id/persent"
            android:layout_marginLeft="1dp"
            android:background="@drawable/ic_button_times_blue"
            android:layout_marginStart="1dp" />

        <Button
            android:id="@+id/devide"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toRightOf="@id/times"
            android:layout_toEndOf="@id/times"
            android:layout_alignBottom="@id/times"
            android:layout_marginLeft="1dp"
            android:layout_marginStart="1dp"
            android:background="@drawable/ic_button_devide_blue"
             />

        <TextView
            android:id="@+id/ValueTextBox"
            android:layout_width="422dp"
            android:layout_height="145dp"
            android:layout_alignBottom="@id/back"
            android:layout_marginBottom="90dp"
            android:background="@color/bluesemi"
            android:gravity="center_horizontal|center|end"
            android:padding="6dp"
            android:textSize="50sp"
            app:fontFamily="@font/zonaprothin"
            android:textColor="@color/bluetwo"/>

        <Button
            android:id="@+id/back"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignBottom="@id/seven"
            android:layout_marginBottom="92dp"
            android:background="@drawable/ic_button_back_space_blue"/>

        <Button
            android:id="@+id/persent"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toEndOf="@id/back"
            android:layout_toRightOf="@id/back"
            android:layout_alignBottom="@id/back"
            android:layout_marginLeft="1dp"
            android:layout_marginStart="1dp"
            android:background="@drawable/ic_button_persentage_blue"
             />

        <Button
            android:id="@+id/four"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignBottom="@+id/one"
            android:layout_marginBottom="92dp"
            android:background="@drawable/ic_button_four_blue" />

        <Button
            android:id="@+id/five"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignStart="@+id/four"
            android:layout_alignLeft="@+id/four"
            android:layout_alignBottom="@id/four"
            android:layout_marginStart="103.5dp"
            android:layout_marginLeft="103.5dp"
            android:layout_marginBottom="0dp"
            android:background="@drawable/ic_button_five_blue" />

        <Button
            android:id="@+id/six"
            android:layout_alignBottom="@id/five"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_marginLeft="207dp"
            android:layout_marginStart="207dp"
            android:background="@drawable/ic_button_six_blue"/>

        <Button
            android:id="@+id/one"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignTop="@id/zero"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="-92dp"
            android:background="@drawable/ic_button_one_blue" />

        <Button
            android:id="@+id/two"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignBottom="@id/one"
            android:layout_marginStart="1dp"
            android:layout_marginLeft="1dp"
            android:layout_toEndOf="@id/one"
            android:layout_toRightOf="@id/one"
            android:background="@drawable/ic_button_two_blue" />

        <Button
            android:id="@+id/three"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toEndOf="@id/two"
            android:layout_toRightOf="@id/two"
            android:layout_alignBottom="@id/two"
            android:layout_marginLeft="1dp"
            android:layout_marginStart="1dp"
            android:background="@drawable/ic_button_three_blue"
             />

        <Button
            android:id="@+id/plus"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_above="@+id/equels"
            android:layout_marginStart="1dp"
            android:layout_marginLeft="1dp"
            android:layout_toEndOf="@id/six"
            android:layout_toRightOf="@id/six"
            android:layout_alignBottom="@+id/six"
            android:background="@drawable/ic_button_plus_blue" />

        <Button
            android:id="@+id/minus"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_toEndOf="@id/nine"
            android:layout_toRightOf="@id/nine"
            android:layout_alignBottom="@id/nine"
            android:layout_marginLeft="1dp"
            android:layout_marginStart="1dp"
            android:background="@drawable/ic_button_minus_blue" />

        <Button
            android:id="@+id/seven"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_alignBottom="@id/four"
            android:layout_marginBottom="92dp"
            android:background="@drawable/ic_button_seven_blue" />

        <Button
            android:id="@+id/point"
            android:layout_width="102dp"
            android:layout_height="91dp"
            android:layout_above="@+id/zero"
            android:layout_alignBottom="@id/zero"
            android:layout_toEndOf="@id/zero"
            android:layout_toRightOf="@id/zero" />

        <Button
            android:id="@+id/zero"
            android:layout_width="205dp"
            android:layout_height="91dp"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginEnd="1dp"
            android:layout_marginRight="1dp"
            android:layout_marginBottom="0dp"
            android:background="@drawable/ic_button_zero_blue" />

    </RelativeLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/draw_items" />


</android.support.v4.widget.DrawerLayout>

如果我遗漏了任何可能对您有帮助的内容,请告诉我。

【问题讨论】:

    标签: java android


    【解决方案1】:

    当 R 失败时,通常错误在 xml 中,或者可能找不到菜单、图像等资源。 您可以执行构建> 重建项目并附加错误。

    祝你好运

    【讨论】:

    • 嗨@Roman Gajardo,很抱歉我的无知,但我将如何附加错误?
    • 你应该看下面:说 LogCat 应该显示一个错误,或者如果你按 ctrl + 6. 然后复制错误
    • 嗨@RomanGajardo,我不确定您的评论中是否有链接
    猜你喜欢
    • 2023-03-24
    • 2023-03-03
    • 2017-08-02
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    相关资源
    最近更新 更多