Android Generic Superclass

时间:2017-05-05 02:16:57

标签: java android generics

我有以下通用活动

import android.os.Bundle;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;


public abstract class SingleFragmentActivity extends AppCompatActivity {

   protected abstract Fragment createFragment();
.
.
.

并希望实施

import android.support.v4.app.Fragment;


public class PhotoDisplayActivity extends SingleFragmentActivity {

   @Override
   protected Fragment createFragment() {
       return PhotoDisplayFragment.newInstance();
   }

}

但这是在抛出incompatible types: PhotoDisplayFragment cannot be converted to Fragment。将SingleFragmentActivity返回类型更改为PhotoDisplayActivity显然会破坏它的通用性。

我在这里搞砸了什么?

谢谢, Otterman

0 个答案:

没有答案