簡體   English   中英

onBindViewHolder() 收到“在空對象引用上”

[英]onBindViewHolder() recieves ''on a null object reference''

我正在嘗試使用適配器運行我的應用程序,但在執行此操作時出現此錯誤:

提到有 3 個適配器: ReviewsAdapter<\/code> 、 StandupWithKey<\/code>和VideoAdapter<\/code> 。

05-07 20:16:57.707 5326-5326\/com.example.sefi.authenticationproject E\/ReviewsAdapter: onBindViewHolder() >> 0 05-07 20:16:57.708 5326-5326\/com.example.sefi.authenticationproject E\/ AndroidRuntime:致命異常:主進程:com.example.sefi.authenticationproject,PID:5326 java.lang.NullPointerException:嘗試在 null 上調用虛擬方法 'void android.widget.TextView.setText(java.lang.CharSequence)'在 com.example.sefi.authenticationproject.adapter.ReviewsAdapter.onBindViewHolder(ReviewsAdapter.java:18) 在 com.example.sefi.authenticationproject.adapter.ReviewsAdapter.onBindViewHolder(ReviewsAdapter.java:18) 在 com.example.sefi.authenticationproject.adapter.ReviewsAdapter.onBindViewHolder(ReviewsAdapter.java:48) 對象引用.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482) 在 android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515) 在 android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline (RecyclerView.java:5458) 在 android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPos itionByDeadline(RecyclerView.java:5724) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559)在 android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229) 在 android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1556) 在 android.support.v7.widget.LinearLayoutManager .fill(LinearLayoutManager.java:1516) 在 android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608) 在 android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693) 在 android。 support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3109) 在 android.view.View.measure(View.java:19734) 在 android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1210) 在 android .support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1550) 在 android .view.View.measure(View.java:19734) 在 android.view.View.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:185) 在 android.view.View。在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) 在 android.widget.LinearLayout.measureVertical(LinearLayout.java) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) 測量(View.java:19734) :758) 在 android.view.View.measure(View.java:19734) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6120) 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:640) 在 android .widget.FrameLayout.onMeasure(FrameLayout.java:185) 在 com.android.internal.policy.DecorView.onMeasure(DecorView.java:687) 在 android.view.View.measure(View.java:19734) 在 android。 view.ViewRootImpl.performMeasure(ViewRootImpl.java:2271) 在 android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1358) 在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1 607) 在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246) 在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301) 在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:871) ) 在 android.view.Choreographer.doCallbacks(Choreographer.java:683) 在 android.view.Choreographer.doFrame(Choreographer.java:619) 在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857) 在 android .os.Handler.handleCallback(Handler.java:751) 在 android.app.ActivityThread 的 android.os.Handler.dispatchMessage(Handler.java:95) 的 android.os.Looper.loop(Looper.java:154)。 main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:756)

這是我的文件:

評論Adapter.java<\/strong>

 StandupDetails.java<\/strong>

審查活動<\/strong>

 StandupPlayerMain.java<\/strong>

您對StandupDetails活動和回收站列表項使用的布局相同: activity_standup_details.xml

setContentView(R.layout.activity_standup_details);

View itemView = LayoutInflater.from(parent.getContext())
        .inflate(R.layout.activity_standup_details, parent, false);

您可能要使用不同的布局。 因此,視圖持有者中的findViewById返回null,這就是為什么要獲得NPE的原因。

如果您在RecyclerAdapter<\/code>中使用Butterknife<\/code> ,這是綁定ViewHolder<\/code>的正確方法

public ViewHolder(@NonNull View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM