我正在开发一款Android应用 . 在我的应用程序中,我需要创建颜色选择器 . 美丽的颜色选择器 . 所以我正在使用这个选择器 - https://android-arsenal.com/details/1/4401 . 我正在做的是按钮的点击监听器上的简单,开放的颜色选择器 . 但是当我点击按钮时抛出错误 .

这是在活动中打开选择器的代码的方式

private void openCaptionTfColorPicker()
    {
        new ColorDialog.Builder(this)
                .setColorShape(ColorShape.CIRCLE) //CIRCLE or SQUARE
                .setColorChoices(R.array.color_choices) //an array of colors
                .setSelectedColor(Color.GREEN) //the checked color
                .setTag(TAG_TF_COLOR_PICKER) // tags can be useful when multiple components use the picker within an activity
                .show();
    }

我的活动实现了ColorDialog.OnColorSelectedListener

这是我在arrays.xml中的color_choices数组

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="color_choices">
        <item>@android:color/black</item>
        <item>@android:color/white</item>
    </string-array>
</resources>

单击按钮时,这是logcat中的错误

FATAL EXCEPTION:main进程:memegenerator.waiyanhein.com.memegenerator,PID:17860 java.lang.NullPointerException:尝试在memegenerator.waiyanhein上的空对象引用上调用虚方法'int java.util.ArrayList.size()'位于android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:2938)的android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java).com.adapter.InstalledTemplatesAdapter.getItemCount(InstalledTemplatesAdapter.java:92) :2904)在android.view.ViewGroup.layout(ViewGroup.java)的android.view.View.layout(View.java:16636)上的android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3283) 5437)在android.widget.LinearLayout.outoutVertical(LinearLayout.java:1586)的android.widget.LinearLayout.onChay(DirectLayout.java:1486)的android.widget.LinearLayout.onLayout(LinearLayout.java:1495)的android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) view.View.layout(View.java:16636)在android.sview.ViewGroup.layout(ViewGroup.java:5437)android.support.v4.view.Vie在Android.widget.RelativeLayout.onLayout(RelativeLayout)的android.view.View.layout(ViewGroup.java:5437)的android.view.View.layout(View.java:16636)上的wPager.onLayout(ViewPager.java:1695) .java:1079)在Android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)的android.view.View.layout(ViewGroup.java:5437)的android.view.View.layout(View.java:16636)在Android.widget上的android.view.View.Loutout(FrameLayout.java:273)android.view.Viewout上的android.view.View.layout(View.java:16636)处于android.widget . 线性拉动.setChildFrame(LinearLayout.java:1743)在Android.widget.Line中的android.widget.Linear.layoutVertical(LinearLayout.java:1586),android.view.Loutout.onLayout(LinearLayout.java:1495) .java:16636)在Android.widget.FrameLayout.onLayout(FrameLayout.java:273)的android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)的android.view.ViewGroup.layout(ViewGroup.java:5437)在android.view.View.layout(View.java:16 636)在Android.widget.LinearLayout.setoutVertical(LinearLayout.java:1586)的android.view.Linout.setChildFrame(LinearLayout.java:1743)上的android.view.ViewGroup.layout(ViewGroup.java:5437) . android.view.FoutLayout.layoutChildren上的android.view.View.layout(ViewGroup.java:5437)的android.view.View.layout(View.java:16636)中的widget.LinearLayout.onLayout(LinearLayout.java:1495) (FrameLayout.java:336)在android.view.View.View的com.android.internal.policy.PhoneWindow $ DecorView.onLayout(PhoneWindow.java:2678)的android.widget.FrameLayout.onLayout(FrameLayout.java:273) . android.view.ViewRootImpl.performTraversals(ViewRootImpl.java)上android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)的android.view.ViewGroup.layout(ViewGroup.java:5437)布局(View.java:16636) :1931)在android.view.View.View.View.Transal(ViewRootImpl.java:1107)的android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:6013)在android.view.Choreographer $ CallbackRecord.run(在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java)的android.view.Choreographer.doCrame(Choreographer.java:606)的android.view.Choreographer.doCallbacks(Choreographer.java:670)上的Choreographer.java:858) :844)在android.os.Handler.handleCallback(Handler.java:739)的android.os.Handler.dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper.java:148)在android .app.ActivityThread.main(ActivityThread.java:5417)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)at com的java.lang.reflect.Method.invoke(Native Method) .android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我能想到的是,我的色彩资源数组有问题 . 为什么会抛出此错误?