Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通用方法赢得';当将泛型类型作为参数传递时,无法识别它_Android_Generics - Fatal编程技术网

Android 通用方法赢得';当将泛型类型作为参数传递时,无法识别它

Android 通用方法赢得';当将泛型类型作为参数传递时,无法识别它,android,generics,Android,Generics,我正在尝试泛化动态片段实例化: private <F extends Fragment> void addFragment(F fragment) { fragment.setArguments(new Bundle()); FragmentTransaction tx = getFragmentManager().beginTransaction(); tx.add(R.id.container, fragment); tx.submit(); }

我正在尝试泛化动态片段实例化:

private <F extends Fragment> void addFragment(F fragment) {
    fragment.setArguments(new Bundle());
    FragmentTransaction tx = getFragmentManager().beginTransaction();
    tx.add(R.id.container, fragment);
    tx.submit();
}
private void addFragment(F fragment){
fragment.setArguments(新Bundle());
FragmentTransaction tx=getFragmentManager().beginTransaction();
tx.add(R.id.container,fragment);
tx.提交();
}
但是,编译器拒绝
tx.add(R.id.container,fragment)
,因为
add(int,F)
没有方法签名

如何让add()方法理解F确实是一个片段


提前感谢:)

这是因为您在类中导入了错误的
片段,它与add方法的Fragment参数不兼容

由于您使用了
getFragmentManager()
,这意味着您需要使用片段的非支持库,以使泛型与add方法兼容

确保您的导入如下所示:

import android.app.Fragment;

谢谢何时、何时使用非支持库是一个好主意?取决于您是否针对较新的设备,然后使用非支持库;否则,如果针对较旧的设备,则使用支持库