你如何从这门课继承?以下代码已被破坏,但它显示了我正在尝试实现的目标。
绑定不匹配:类型T不是ActivityInstrumentationTestCase2类型的有界参数的有效替代
public class MyClass<T> extends ActivityInstrumentationTestCase2<T> {
public MyClass (Class<T> clazz) {
super(clazz);
}
}
答案 0 :(得分:5)
ActivityInstrumentationTestCase2的类定义是什么?
最有可能的是,ActivityInstrumentationTestCase2定义为:
class ActivityInstrumentationTestCase2<T extends SomeObject> {
...
}
在这种情况下,对象的参数需要保持在其超类的参数范围内。
例如:
public class MyObject<T extends SomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}
您还可以使参数更窄。所以,如果MySomeObject扩展了SomeObject,你也可以说:
public class MyObject<T extends MySomeObject> extends ActivityInstrumentationTestCase2<T> {
...
}
编辑添加: 我刚刚找到this。我假设你使用的是同一个,所以需要定义为:
public class MyObject<T extends android.app.Activity> extends ActivityInstrumentationTestCase2<T> {
...
}