举个例子
首先我的activity中
@Route(path = "/datainit/DataInitActivity")
class DataInitActivity: BaseActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.act_datainit)
ActivityUtils.replaceFragmentInActivity(
supportFragmentManager,
findOrCreateViewFragment(),
R.id.contentFrame)
}
/*
** 此方法是为了初始化fragment展示fragement
*/
ActivityUtils.replaceFragmentInActivity(
supportFragmentManager,
findOrCreateViewFragment(),
R.id.contentFrame)
然后在我的activity工具类里
public class ActivityUtils {
public static void replaceFragmentInActivity(@NonNull FragmentManager fragmentManager,@NonNull Fragment fragment, int frameId) {
Utils.checkNotNull(fragmentManager);
Utils.checkNotNull(fragment);
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(frameId, fragment);
transaction.commit();
}
然后在我的工具类Utils中调用了另一个 Utils.checkNotNull(obj)方法,是为了判断是否为空。
(此方法就是重点,我们用的是泛型方法)
泛型方法定义:访问权限 ++泛型标示 方法名称(泛型标示 参数名称 用泛型方法是为了可以接受任意类型,然后返回相应类型。
public static T checkNotNull(T obj) {
if (obj == null) {
throw new NullPointerException();
}
return obj;
}