我试图生成动态片段实例化:
private <F extends Fragment> void addFragment(F fragment) {
fragment.setArguments(new Bundle());
FragmentTransaction tx = getFragmentManager().beginTransaction();
tx.add(R.id.container, fragment);
tx.submit();
}
但是,编译器会拒绝tx.add(R.id.container, fragment)
,因为add(int, F)
没有方法签名!
如何让add()方法理解F确实是片段?
提前致谢:)
答案 0 :(得分:5)
这是因为你在类中导入了一个错误的Fragment
,它与add方法的fragment参数不兼容。
因为你使用了getFragmentManager()
,这意味着你需要使用片段的非支持库来使泛型与add方法兼容。
确保您的导入是这样的:
import android.app.Fragment;