首页 > 解决方案 > android在膨胀布局时崩溃

问题描述

我有这种方法可以在哈希图中膨胀和存储视图

private void changeRecyclerViewHeader(int header) {
    if (recyclerViewHeaders.containsKey(header)) {
        _headerView = recyclerViewHeaders.get(header);
    } else {
        _headerView = ((Holder) getContext()).getLayoutInflater().inflate(header, (ViewGroup) _productsRV.getParent(), false);
        recyclerViewHeaders.put(header, _headerView);
    }
    _adapter.setHeaderView(_headerView);
}

我用这样的resourceID调用它:

changeRecyclerViewHeader(R.id.someLayoutName);

问题是当我到达这一行时(else 中的第一行):

_headerView = ((Holder) getContext()).getLayoutInflater().inflate(header, (ViewGroup) _productsRV.getParent(), false);

我崩溃了:

android.content.res.Resources$NotFoundException: Resource ID #0x7f090085 type #0x12 is not valid

有什么帮助吗?

标签: androidandroid-layoutlayout-inflater

解决方案


你必须在 recyclerview 中增加一些布局。您正在使用R.id.someLayoutName. 用R.layout.someLayoutName它代替它。这将解决您的错误。


推荐阅读