这是我一直试图找到解决方案的问题.
我们有两个类定义.其中一个扩展另一个.
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)
红色突出显示表示无法解析符号“主题”

以下是一些配置:
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)