是否可以创建一个缩短强制转换的函数,如(伪代码):
MyFragment fragment = (MyFragment) getFragmentManager().findFragmentByTag("mytag");
//shorten:
findByTag(MyFragment.class, "mytag");
private Fragment findByTag(Class<?> cast, String tag) {
return (cast) getFragmentManager().findFragmentByTag(tag);
}
答案 0 :(得分:1)
修改您的代码如下:
private <F extends Fragment> F findByTag(Class<F> cast, String tag) {
return (F) getFragmentManager().findFragmentByTag(tag);
}
现在你可以不用强制转换来调用它:
MyFragment f1 = findByTag(MyFragment.class, "aaaaa");
YourFragment f2 = findByTag(YourFragment.class, "bbbbb");