android - 如果 Fragment 中没有 @Inject 构造函数,则无法提供 LinearLayoutManager
问题描述
我正在使用 Dagger 2,在创建新片段时,我似乎遇到了这个错误。我一直在尝试各种事情,但我根本无法修复此消息。
没有@Inject 构造函数就无法提供android.support.v7.widget.LinearLayoutManager
看起来应该是直截了当的,因为我在 Github 上引用 Mindorks MVP 项目。
这是我的片段代码,如果需要或者这很明显,请告诉我还可以发布什么。
public class HomePageFragment extends BaseFragment implements
HomeMvpView {
@Inject
HomeMvpPresenter<HomeMvpView> mPresenter;
@BindView(R.id.featuredRecyclerView)
RecyclerView featuredRecyclerView;
@Inject
LinearLayoutManager mLayoutManager;
@Inject
RecyclerView.LayoutManager mLayoutManager2;
@Inject
FeaturedAdapter featuredAdapter;
public static HomePageFragment newInstance() {
Bundle args = new Bundle();
HomePageFragment fragment = new HomePageFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_home_page, container, false);
ActivityComponent component = getActivityComponent();
if (component != null) {
component.inject(this);
setUnBinder(ButterKnife.bind(this, rootView));
mPresenter.onAttach(this);
}
return rootView;
}
@Override
protected void setUp(View view) {
featuredRecyclerView = view.findViewById(R.id.featuredRecyclerView);
//setup Adapter
mLayoutManager2 = new LinearLayoutManager(getActivity());
//mLayoutManager2.setOrientation(LinearLayoutManager.VERTICAL);
featuredRecyclerView.setLayoutManager(mLayoutManager);
featuredRecyclerView.setItemAnimator(new DefaultItemAnimator());
featuredRecyclerView.setAdapter(featuredAdapter);
}
}
解决方案
推荐阅读
- javascript - 设置状态不适用于反应组件中的多个 api 获取
- java - 我需要帮助在 Java 平台游戏中创建碰撞系统
- html - 为什么光标在按钮上没有改变
- apache-spark - load() 在 spark 中做了什么?
- javascript - 尝试更改特定字母的背景颜色
- json - 如何在 N1QL 中查看 couchbase 服务器中的文档树?
- intellij-idea - 如何为新的 JavaScript 框架配置 IntelliJ IDEA 或 WebStorm 以便我可以使用智能?
- python - 检查目标时出错:预期 dense_10 的形状为 (2,) 但得到的数组的形状为 (1,)
- javascript - 如何将“this”从 ClassA 传递到 ClassB?
- java - 检查 SQLite 数据库中是否存在几个值