小编cod*_*sme的帖子

为什么泛型类型不适用于参数扩展超类?

这是我一直试图找到解决方案的问题.

我们有两个类定义.其中一个扩展另一个.

    class T{}
    class TT extends T{}
Run Code Online (Sandbox Code Playgroud)

要求是应该有一个列表保持对象扩展T

    List<? extends T> list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将TT对象(几乎不是它的T的子类)放入列表时,问题就出现了.

    list.add(new TT());
Run Code Online (Sandbox Code Playgroud)

编译错误消息

类型List中的方法add(捕获#2-of?extends Cell)不适用于参数(Cell)

java generics extends

10
推荐指数
3
解决办法
8049
查看次数

为什么Android Studio在styles.xml中用红色突出显示“主题”?

红色突出显示表示无法解析符号“主题”

在此处输入图片说明

以下是一些配置:

styles.xml

<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
    <item name="android:windowNoTitle">true</item>
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud)

...

android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

build.gradle

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.0.0'
}
Run Code Online (Sandbox Code Playgroud)

...

android {
    compileSdkVersion 19
    buildToolsVersion '20.0.0'
    defaultConfig {
    applicationId 'com.mobile.slider'
    minSdkVersion 8
    targetSdkVersion 19
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class …
Run Code Online (Sandbox Code Playgroud)

android gradle android-theme android-studio android-styles

5
推荐指数
1
解决办法
3662
查看次数