就我而言,我的自定义视图位于库模块中,即:(“com.android.library”),我在我的应用程序模块中使用刀柄,即:(“com.android.application”),因此我的应用程序是崩溃。因为我在我的应用模块中使用 Hilt 库,并且上下文实例是由 Hilt 库创建的。而且我找不到fragmentManger。
所以作为一种解决方法,我必须在我的库模块中添加 Hilt,然后我使用下面的代码来找到 FragmentManger
private FragmentManager getFragmentManager(@NonNull Context mContext) {
if (mContext instanceof AppCompatActivity) {
return ((AppCompatActivity) mContext).getSupportFragmentManager();
} else if (mContext instanceof ContextThemeWrapper) {
return getFragmentManager(((ContextThemeWrapper) mContext).getBaseContext());
}
// below if clause is for hilt library
else if (mContext instanceof ViewComponentManager.FragmentContextWrapper) {
return getFragmentManager(((ViewComponentManager.FragmentContextWrapper) mContext).getBaseContext());
}
return null;
}
如果是这种情况希望这应该对某人有所帮助。
快乐编码。