Erro java.lang.NullPointerException ao tentar criar um adapter para uma lista. Me ajudem, por favor, não sei mais o que fazer

Segue o código da classe:

package com.example.cardsfelpudo;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

public class MeuAdaptador extends ArrayAdapter{
public MeuAdaptador(@NonNull Context context, int resource) {
super(context, resource);
}

@Override
public void add(@Nullable Object object) {
    super.add(object);
}

@Override
public int getCount() {
    return super.getCount();
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    View objetoView = convertView;
    View v;
    ViewElemento personagem;

    if(convertView==null){
        LayoutInflater layoutInflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        layoutInflater.inflate(R.layout.meu_layout, parent, false);

        personagem = new ViewElemento();

        personagem.setIMAGEM((ImageView) objetoView.findViewById(R.id.iconeItem));
        personagem.setTITULO((TextView) objetoView.findViewById(R.id.titulo));
        personagem.setDISCRICAO((TextView) objetoView.findViewById(R.id.discrição));

        objetoView.setTag(personagem);
    }else{
        personagem = (ViewElemento) objetoView.getTag();
    }

    DadosPersonagem dados = (DadosPersonagem) this.getItem(position);
    personagem.getIMAGEM().setImageResource(dados.getICONE());
    personagem.getTITULO().setText(dados.getTITULO());
    personagem.getDISCRICAO().setText(dados.getDISCRICAO());

    return objetoView;
}

}

O layout é um androidx.constraintlayout.widget.ConstraintLayout

Se quiserem, eu mando o código das outras classes. Ele da erro nessa parte:

        personagem.setIMAGEM((ImageView) objetoView.findViewById(R.id.iconeItem));
        personagem.setTITULO((TextView) objetoView.findViewById(R.id.titulo));
        personagem.setDISCRICAO((TextView) objetoView.findViewById(R.id.discrição));

erro:

04-04 20:46:12.671 8796-8796/com.example.cardsfelpudo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.cardsfelpudo, PID: 8796
java.lang.NullPointerException
at com.example.cardsfelpudo.MeuAdaptador.getView(MeuAdaptador.java:42)
at android.widget.AbsListView.obtainView(AbsListView.java:2263)
at android.widget.ListView.makeAndAddView(ListView.java:1790)
at android.widget.ListView.fillDown(ListView.java:691)
at android.widget.ListView.fillFromTop(ListView.java:752)
at android.widget.ListView.layoutChildren(ListView.java:1630)
at android.widget.AbsListView.onLayout(AbsListView.java:2091)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:444)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:14838)
at android.view.ViewGroup.layout(ViewGroup.java:4631)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1999)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1756)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1008)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5753)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
04-04 20:47:31.421 8796-8796/com.example.cardsfelpudo I/Process: Sending signal. PID: 8796 SIG: 9