Troubleshoot: R.Layout.Main cannot be resolved

本文解决了一个常见的Android开发问题:R.layout.main无法解析。错误出现在尝试设置内容视图时。解决方法包括移除不正确的R类导入语句,并确保Eclipse的自动构建功能已启用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:
下面代码中的第12行出错:R.layout.main cannot be resolved.

1 package com.Tealc.DaysBetween;
2
3 import android.R;
4 import android.app.Activity;
5 import android.os.Bundle;
6
7 public class DaysBetween extends Activity {
8 /** Called when the activity is first created. */
9     @Override
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12         setContentView(R.layout.main);
13     }
14 }

解决方案
(1) 删除第3行的 "import android.R;".
(2) 勾选上Eclipse中的"Project->Build Automatically";
原因分析
(1) 删除"import android.R"之后工程就是从/res文件夹下自动生成的资源文件里去解析了,否则它会从Android的资源类里去找。
(2) 但为什么勾选上动态构建"Build Automatically",我不是太清楚。刚接触Eclipse,稍后可能会更明白些。
关于Eclipse的动态构建
  使用Eclipse进行Java开发,您首先注意到的就是它的编译是多么智能。进入Preferences(WindowMenu > Preferences)并启用动态构建(Workbench > Build Automatically)。现在,每当您保存文件时,Eclipse将会自动编译该文件以及依赖于该文件的文件。因此,当您想运行您的应用程序时,它基本上已经保存好并且是最新版本。当您处理大型代码基时,这可以节约不少时间。如果您不得不使用其他IDE,那么您首先失去的就是该特性的简单性。
  当您使用Eclipse时,您将会一次又一次地感受到这样一个底层原理:IDE了解代码。Eclipse不仅仅是一个能在以文件为中心的基础上处理代码和其他事情的编译器,它还能够查看源代码并聪明地加以处理。它的智能编译能力通过它能够明白表达在导入语句中的依赖性而得到了证明。

2010/3/8 更新:在最新的SDK2.1的新建工程里已经不存在import.android.R,解决方法是将鼠标放到R上,Eclipse会提示你一些fix,如下图所示。选择第二项可fix.

2010030810132647.png

转载于:https://www.cnblogs.com/morrispan/archive/2010/04/12/1710597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值