gpt4 book ai didi

Android O Preview findViewById 编译报错

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:08 26 4
gpt4 key购买 nike

我尝试测试 Android O Developer Preview 第二阶段。项目创建好后,直接点击build and run,没有成功。

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)

帮帮我!如何修复此错误?

编辑#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();
}
});
}

=> 编译错误

Error:(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 金丝雀版。

最佳答案

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

尝试同步 gradle 和 Build->Clean Project 。如果这没有帮助,File->Invalidate Cache/Restart 应该可以解决问题...

关于Android O Preview findViewById 编译报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44126828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com