首页 > 解决方案 > 初始化我的适配器时出现 ReResources$NotFoundException

问题描述

在我从演示者那里获得消息列表后,我调用此方法来初始化我的适配器:

@Override
public void displayChatMessages(ArrayList<Message> messageList) {
    mMessageList.clear();
    mMessageList.addAll(messageList);
    ChatMessageAdapter mAdapter = new ChatMessageAdapter(this, mMessageList, requestId);
    mRecyclerView.setAdapter(mAdapter);
    mAdapter.notifyDataSetChanged();
}

当在适配器中调用 onCreateViewHolder 方法时:

@NonNull
@Override
public ChatViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.chat_message_item_layout, parent, false);

    return new ChatViewHolder(v);
}

我收到以下错误消息:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: uk.co.transreport.pa.dev, PID: 15725
android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0033
    at android.content.res.Resources.getValue(Resources.java:2418)
    at android.content.res.Resources.loadXmlResourceParser(Resources.java:4062)
    at android.content.res.Resources.getLayout(Resources.java:2234)
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:882)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
    at uk.co.transreport.pa.Adapters.ChatMessageAdapter.onCreateViewHolder(ChatMessageAdapter.java:134)
    at uk.co.transreport.pa.Adapters.ChatMessageAdapter.onCreateViewHolder(ChatMessageAdapter.java:51)
    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6685)
    at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5869)
    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:589)
    at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812)
    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3529)
    at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1077)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:606)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1702)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1556)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1465)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1702)
    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1556)
    at android.widget.LinearLayout.onLayout(LinearLayout.java:1465)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
    at android.view.View.layout(View.java:16922)
    at android.view.ViewGroup.layout(ViewGroup.java:5405)
    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2413)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2122)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1264)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6944)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
    at android.view.Choreographer.doCallbacks(Choreographer.java:590)
    at android.view.Choreographer.doFrame(Ch

我检查了一堆类似的问题,但在 TextViews 中显示信息时,我只能找到一堆关于错误数据类型的答案......我知道这不是我的情况,因为我评论了所有我的 onBindViewHolder 方法中的代码。

我清理并重建了项目......认为缓存布局引用有问题,但没有帮助。

有人知道我为什么一直收到这个吗?

标签: androidexceptionresourcesadapter

解决方案


推荐阅读