Android 将带有RecyclerView持有者的数组传递给Alertdialog

Android 将带有RecyclerView持有者的数组传递给Alertdialog,android,arrays,android-recyclerview,android-alertdialog,Android,Arrays,Android Recyclerview,Android Alertdialog,我正在编写一个可扩展的回收器视图,其中的代码与通常的回收器视图略有不同。代码中的bind方法是在ViewHolder中定义的。一切似乎都写对了,我不明白我的错误是什么。我将数组从RecyclerView传递到AlertDialog,但由于某种原因应用程序崩溃。以下是my View Holder的代码,其中显示了错误字符串: public class AnalysisViewHolder extends ChildViewHolder { HtmlTextView textView;

我正在编写一个可扩展的回收器视图,其中的代码与通常的回收器视图略有不同。代码中的bind方法是在ViewHolder中定义的。一切似乎都写对了,我不明白我的错误是什么。我将数组从RecyclerView传递到AlertDialog,但由于某种原因应用程序崩溃。以下是my View Holder的代码,其中显示了错误字符串:

public class AnalysisViewHolder extends ChildViewHolder {
    HtmlTextView textView;
    FrameLayout frame;
    Context c;
public AnalysisViewHolder(View itemView) {
    super(itemView);
    textView = itemView.findViewById(R.id.text_rc);
    frame = itemView.findViewById(R.id.frame);
}
public void bind(final Analysys analysys){
    textView.setHtml(analysys.name);
    frame.setOnClickListener(new View.OnClickListener() {// here
        @Override
        public void onClick(View v) {
            AlertDialog.Builder aa = new AlertDialog.Builder(c);
            aa.setTitle(analysys.name);
            aa.setMessage(Html.fromHtml(analysys.analysis));
            aa.setNegativeButton(c.getString(R.string.back), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
        }
    });

}
Мy Stacktrace:

2019-08-29 22:06:45.494 29861-29861/com.vn.iambulance.prototype_20 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.vn.iambulance.prototype_20, PID: 29861
    java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference
        at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:224)
        at android.app.AlertDialog$Builder.<init>(AlertDialog.java:474)
        at com.vn.iambulance.prototype_20.adapter_analysis.AnalysisViewHolder.bind(AnalysisViewHolder.java:28)
        at com.vn.iambulance.prototype_20.adapter_analysis.AnalysisAdapter.onBindChildViewHolder(AnalysisAdapter.java:36)
        at com.vn.iambulance.prototype_20.adapter_analysis.AnalysisAdapter.onBindChildViewHolder(AnalysisAdapter.java:13)
        at com.thoughtbot.expandablerecyclerview.ExpandableRecyclerViewAdapter.onBindViewHolder(ExpandableRecyclerViewAdapter.java:82)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
        at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
        at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
        at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
        at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
        at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
        at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
        at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:1041)
2019-08-29 22:06:45.495 29861-29861/com.vn.iambulance.prototype_20 E/AndroidRuntime:     at android.view.View.layout(View.java:22406)
        at android.view.ViewGroup.layout(ViewGroup.java:6584)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3380)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2849)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1897)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8514)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
        at android.view.Choreographer.doFrame(Choreographer.java:696)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7076)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
2019-08-29 22:06:45.494 29861-29861/com.vn.iambulance.prototype_20 E/AndroidRuntime:致命异常:main
流程:com.vn.iambulance.prototype_20,PID:29861
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.content.res.Resources$Theme android.content.Context.getTheme()”
位于android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:224)
在android.app.AlertDialog$Builder上。(AlertDialog.java:474)
位于com.vn.iambulance.prototype_20.adapter_analysis.AnalysisViewHolder.bind(AnalysisViewHolder.java:28)
在com.vn.iambulance.prototype_20.adapter_analysis.AnalysisAdapter.onBindChildViewHolder(AnalysisAdapter.java:36)
在com.vn.iambulance.prototype_20.adapter_analysis.AnalysisAdapter.onBindChildViewHolder(AnalysisAdapter.java:13)
在com.thoughtbot.expandableRecycleWebView.expandableRecycleWebAdapter.onBindViewHolder上(expandableRecycleWebAdapter.java:82)
位于android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
位于android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
在android.support.v7.widget.RecyclerView$Recycler.TryBindViewHolderByDadline(RecyclerView.java:5752)上
在android.support.v7.widget.RecyclerView$Recycler.TryGetViewHolderFormationByDaildate(RecyclerView.java:6019)上
位于android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
位于android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
位于android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
位于android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
位于android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
位于android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
位于android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
位于android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
位于android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:261)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
在android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)上
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:261)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
位于android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
位于android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:261)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
位于android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
位于android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
在android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:261)
位于com.android.internal.policy.DecorView.onLayout(DecorView.java:1041)
2019-08-29 22:06:45.495 29861-29861/com.vn.iambulance.prototype_20 E/AndroidRuntime:at android.view.view.layout(view.java:22406)
位于android.view.ViewGroup.layout(ViewGroup.java:6584)
在android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3380)
在android.view.ViewRootImpl.performTraversals上(ViewRootImpl.java:2849)
位于android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1897)
在android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8514)
在android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
位于android.view.Choreographer.doCallbacks(Choreographer.java:761)
位于android.view.Choreographer.doFrame(Choreographer.java:696)
在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)中
位于android.os.Handler.handleCallback(Handler.java:873)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:214)
在android.app.ActivityThread.main(Act
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference
AlertDialog.Builder aa = new AlertDialog.Builder(c);
AlertDialog.Builder aa = new AlertDialog.Builder(context);