请问各位研究安卓开发的同志们是如何解决"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、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. @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中的代码,应该就能解决了,然后再改善一下其中的逻辑问题,应该就可以了!加油!