Android O 预览版 findViewById 编译错误

2024-04-02

我尝试测试Android O Developer Preview第二阶段。 项目创建后,我只是点击构建并运行,但没有任何成功。

Android默认生成的代码如下:

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

发生编译错误。

Error:(18, 37) error: reference to findViewById is ambiguous
both method findViewById(int) in Activity and method 
<T>findViewById(int) in AppCompatActivity match
where T is a type-variable:
T extends View declared in method <T>findViewById(int)

帮我!我该如何修复这个错误?

Edit #1

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
}

=> 编译错误

错误:(18, 27) 错误:对 findViewById 的引用不明确 Activity 中的方法 findViewById(int) 和 AppCompatActivity 中的方法 findViewById(int) 都匹配 其中 T 是类型变量: T 扩展在方法 findViewById(int) 中声明的 View

这不是选角问题。

我的 build.gradle 在这里。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-O'
    buildToolsVersion "26.0.0-rc2"
    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 16
        targetSdkVersion 'O'
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.0.0-beta1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:26.0.0-beta1'
}

我尝试过 Android Oreo Developer Preview 2。 并使用Android Studio 3.0 Canary版本。


您的 build.gradle 看起来不错,但编译器似乎仍然使用 supportLib 26 来针对旧版本进行编译编译SdkVersion(25 或更低)。

尝试同步 gradle 和构建->清理项目。 如果这没有帮助,文件->使缓存无效/重新启动应该做这件事...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android O 预览版 findViewById 编译错误 的相关文章

随机推荐

  • C++ 从函数指针数组调用函数

    我使用存储在数组中的函数指针 并使用 typedef 定义指针 但我对如何调用该函数有点迷失 这是 Menu h 部分 typedef void Menu FunctionPointer FunctionPointer m funcPoin
  • 如何在本机 Android 应用程序开发中使用 OpenStreetMap [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您好 我的 Android 手机中有默认的 Android 虚拟内容 本机应用程序构建 现在我需要使用
  • Spark 中广播对象的最大大小是多少?

    使用数据框时播送 http spark apache org docs 2 0 0 api java org apache spark sql functions html broadcast org apache spark sql Da
  • 如何在vim的ex模式下从缓冲区粘贴?

    我在从文件复制某些文本然后将其复制到新的拆分窗口时遇到问题 3yy 新 p 在命令模式下它的工作 当我按下时 复制后分割窗口中的 p 它的工作 我理解您想要 拉出当前缓冲区中的当前行和下面的两行 在新的水平分割中打开一个空缓冲区并 将这三行
  • 使用“boot”包进行引导的 GPU 计算

    我想使用引导程序进行大型分析 我发现使用并行计算提高了引导速度 如以下代码所示 并行计算 detect number of cpu library parallel detectCores library boot boot functio
  • JavaFX 任务线程未终止

    我正在编写一个 JavaFX 应用程序 我的对象扩展了 Task 以提供远离 JavaFX GUI 线程的并发性 我的主要课程如下所示 public class MainApp extends Application Override pu
  • 将“MM/dd/yyyy HH:mm”形式的字符串转换为 Spark 数据帧中的 joda 日期时间

    我正在读取 csv 文件 其中一列中有一个应转换为日期时间的字符串 该字符串的形式为MM dd yyyy HH mm 但是 当我尝试使用 joda time 对其进行转换时 我总是收到错误 线程 main 中的异常 java lang Un
  • Kendo TreeView 搜索并突出显示

    我有一个带有 spriteclass 的 KendoTreeview 我想用我的搜索词突出显示节点 根节点和子节点 我已经实现了搜索功能 但是当我搜索它时 问题是突出显示节点中的术语 但在第一次搜索后缺少节点中的 SpriteClass 任
  • UITabBarItem 图标动画

    iPhone 版 Skype 应用程序使用动画 TabBar 图标 例如 在登录期间 最右侧的选项卡图标显示循环箭头 呼叫 呼叫 选项卡时 图标会轻轻闪烁 这显然是通过动画完成的 我想知道如何为选项卡栏项目的图标设置动画 在我的特殊情况下
  • 如何使用Abdera Atom客户端发送内容和附件

    我们正在使用Abdera https abdera apache org 与 IBM Connections API 交互 但我们的问题主要与 Abdera 本身有关 我认为 Abdera 中存在一个错误 不允许您在单个请求中发送包含内容和
  • VScode 的扩展,用于查找 Nodejs 应用程序中未使用的公共函数

    我需要 VScode 扩展来查找 Nodejs 应用程序中未使用的公共函数 答案已被接受 如果有人正在寻找更详细的步骤 请阅读以下内容 STEP 1 添加这个ESLint https marketplace visualstudio com
  • 安全地使用 PHP exec 函数

    我正在编写一个 PHP 脚本 旨在通过 exec 函数运行可执行文件 ffmpeg exe 问题是我已经读到使用 exec 函数可能存在安全风险 应该尽可能避免 我一直在研究如何安全地运行 exec 函数 唯一遇到的问题是使用 escape
  • 在docker容器内运行pulseaudio来录制系统音频

    我正在尝试使用 Selenium 设置一个 Docker 容器 该容器使用 ffmpeg 录制带有系统音频的浏览器 我使用 Xvfb 处理视频 不幸的是 在音频方面 这似乎更加棘手 我想我应该在容器内设置一个虚拟的脉冲音频接收器 这将允许我
  • 如何使用 haskell graphViz 绘制图表

    我计划使用 Haskell graphViz 绘制图表 我是 Haskell 的新手 所以这对我来说相当困难 有人可以给我看一个简单的例子吗 实际上我需要一个非常简单的示例 以便我可以理解它并在我正在处理的场景中使用它 我在尝试安装 Cha
  • 自定义调整后的生存曲线中的线型 ggadjustedcurves (survminer, ggplot2)

    我正在尝试绘制调整后的生存曲线 但正在努力按组更改线类型 我可以使用典型的 ggplot2 语言自定义绘图的其他方面 但我在改变线型方面遇到了困难 Example library survival library survminer fit
  • 使用 CSS 突出显示所选行

    我们如何使用 css 突出显示表格中的选定行 有什么办法可以做到这一点吗 假设 选定 的意思是 用鼠标悬停在上面 tr hover background color FF0000 您还可以使用 font weight bold color
  • Javascript API - 通过向用户提供白名单选项来限制域

    我的应用程序提供了一个 API 密钥和 Javascript 代码以放置在其网站上 类似于 google anayytics 代码 API 中的所有调用都使用 JSONP 与我们的服务器进行通信 由于 API 密钥很敏感 我们的用户会回来要
  • 如何转换条形图的 y 轴 (ggplot2)

    样本数据test a b c 1 a x NA 2 b x 5 1e 03 3 c x 2 0e 01 4 d x 6 7e 05 5 e x 5 1e 03 6 f y 6 2e 05 7 g y 1 0e 02 8 h y 2 5e 0
  • 在其他vue组件文件中使用vue组件

    我尝试在其他组件 App vue 中使用vue组件 Global vue 但是有 组件挂载失败 模板或渲染函数未定义 error 全局vue
  • Android O 预览版 findViewById 编译错误

    我尝试测试Android O Developer Preview第二阶段 项目创建后 我只是点击构建并运行 但没有任何成功 Android默认生成的代码如下 Toolbar toolbar Toolbar findViewById R id