zoukankan      html  css  js  c++  java
  • Troubleshoot: R.Layout.Main cannot be resolved

    问题:
    下面代码中的第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.
  • 相关阅读:
    2020Java面试题整理
    Oracle中使用Merge Into去除数据库重复记录
    Oracle修改sort_area_size,workarea_size_policy
    免费接口
    Java 将日期或秒数转换为日时分秒,如:2天3小时23分32秒
    linux环境下Mysql不区分大小写配置
    Oracle分区测试
    JS倒计时刷新页面
    JS获取table列数据
    Sql Server 2008日志清理
  • 原文地址:https://www.cnblogs.com/leonxyzh/p/7289190.html
Copyright © 2011-2022 走看看