我有这种方法来膨胀和存储在哈希图中的视图
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);
}
我像这样用资源 ID 调用它:
changeRecyclerViewHeader(R.id.someLayoutName);
问题是当我到达这一行(其他行的第一行(时:
_headerView = ((Holder) getContext()).getLayoutInflater().inflate(header, (ViewGroup) _productsRV.getParent(), false);
我崩溃了:
android.content.res.Resources$NotFoundException: Resource ID #0x7f090085 type #0x12 is not valid
有什么帮助吗?
您必须在回收器视图中膨胀一些布局。您正在使用R.id.someLayoutName
.使用R.layout.someLayoutName
代替它。这将解决您的错误。