请问各位研究安卓开发的同志们是如何解决"cannot resolve symbol XXXX"的问题的啊,(我的是出现"cannot resolve symbol setContentView")上网搜查了一下解决方法,主要都是解决"cannot resolve symbol R"的方法,主要是以下几种方法:
1、File->Invalidata Caches/Restart->Invalidata and Restart
2、Build->Make Module
3、Build->Make Project
4、Build->Clean Project
5、Build->Rebuild Project
详情请参考:http://stackoverflow.com/questions/37336960/android-studio-2-2-1-cannot-resolve-symbol
            其中,最多人使用的是方法1和方法4,而本人尝试方法1后,发现并没有解决问题,尝试方法4时,一直在gradle build,build 了一个晚上都还没有finished,一直停留在如下图这个界面,请问Clean Project是否需要在联网的状态下进行呢?(因为学校12点就断网了),你们clean project也需要很长的时间吗?还有gradle build 后的一段时间后,“ cannot resolve symbol XXXX”的位置发生了些许改变,变成了"cannot resolve symbol R",网上也有一些方法说是由于Android Studio 的配置文件出现问题而引起的,真的不知道该怎么办了,从昨天晚上一直弄到现在都没有搞好,怎么做下午的实验呢?唉~
           本人的代码如下,是制作秒表的:
package com.example.administrator.mystopwatch;import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;public class MainActivity extends AppCompatActivity {
    private Button BtnStart;
    private Button BtnStop;
    private Button BtnReset;
    private Chronometer Chron;    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView.(R.layout.main_layout);        View.OnClickListener myListener=new View.OnClickListener(){
            @Override
            public void onClick(View v){
                switch (v.getId()){
                    case R.id.BtnStart:Chron.start();break;
                    case R.id.BtnStop:Chron.stop();break;
                    case R.id.BtnReset:Chron.setBase(SystemClock.elapsedRealtime());break;
                    default:break;
                }
            }
        };        BtnStart=(Button)findViewById(R.id.BtnStart);
        BtnStart=(Button)findViewById(R.id.BtnStop);
        BtnStart=(Button)findViewById(R.id.BtnReset);
        Chron=(Chronometer) findViewById(R.id.Chron);        BtnStart.setOnClickListener(myListener);
        BtnStop.setOnClickListener(myListener);
        BtnReset.setOnClickListener(myListener);
    }    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        int id=item.getItemId();
        if(id==R.id.action_settings){
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}界面文件代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">    <Chronometer
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/Chron" />    <Button
        android:text="开始计时"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/BtnStart" />    <Button
        android:text="停止计时"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/BtnStop" />    <Button
        android:text="重置计时器"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/BtnReset" />
</LinearLayout>
请各位遇到过此问题的同志们献上你们宝贵的解决方案吧,小弟在此谢过了!,我用的是Android Studio 2.2.2,本人也是刚接触安卓开发,是一名菜鸟级选手,希望大家多多指教!

解决方案 »

  1.   

    你的setContentView.(R.layout.main_layout);多了一点 应该是setContentView(R.layout.main_layout);setContentView()本身就是一个method, 后面不用再多加一个点
      

  2.   

    我重装了AS,升级到了AS2.2.3的版本,然后重新把代码段重新认真地敲了一遍后,还是发现以下两个地方cannot resolve,
    1. @Override
        public boolean onCreateOptionsMenu(Menu menu){
            getMenuInflater().inflate(R.menu.menu_main,menu);
            return true;
        }
    “cannot resolve menu”,解决办法:在rsc文件夹下添加menu文件夹,并在menu文件夹下添加“menu_main.xml”界面文件,详情请参考网站:http://www.cnblogs.com/ssqqhh/p/5213331.html
    2. if(id==R.id.action_settings){
                return true;
            }cannot resolve action_settings,猜测发生错误原因:应该是在menu_main.xml中有定义某个id为action_settings的元素吧,再去看看别人能成功运行该程序种的menu_main.xml中的代码,应该就能解决了,然后再改善一下其中的逻辑问题,应该就可以了!加油!
      

  3.   

    请问menu_main.xml”界面文件是有代码的吗?有的话可以发出来看一下吗