0
votes

Pourquoi est-ce que je reçois une valeur nulle sur la liste de liste?

J'ai eu une erreur sur mon adaptateur de liste listAdapter = nouvelle liste de liste (modèles, ceci); code>, je me présente un nom d'adaptateur personnalisé listAdapter code>.

Je pensais parce qu'il n'y a pas de données, donc je mets dans les données à l'aide de Model.add Code> et après avoir essayé de mettre dans les données par programme, j'ai toujours une erreur indiquant la même chose. P>

Comment puis-je résoudre ce problème? Ci-dessous, je vous donne quelques exemples de code. P>

MainAlactivité: strong> p> xxx pré>

Il a dit que mon adaptateur est null et je ne fais pas comprendre où il définit cette valeur. J'essaie de mettre des données sur le modèle à l'aide de modèle.add code> mais il n'a toujours pas changé. P>

listAdapter: strong> p>

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
    at com.educastudio.marbelmoneymanager.IncomeActivity.onCreate(IncomeActivity.java:53)
    at android.app.Activity.performCreate(Activity.java:6267)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2372)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2479) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5420) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
07-19 19:42:11.854 6740-6740/com.educastudio.marbelmoneymanager I/Process: Sending signal. PID: 6740 SIG: 9


3 commentaires

Pouvez-vous couper le journal d'erreur plein ?


Vous utilisez ListView avant de l'initialiser.


Duplicail possible de Qu'est-ce qu'une nullpoinpoincerexception et comment puis-je Fixez-le?


5 Réponses :


2
votes

Vous devriez inadir listview code> avant de l'utiliser.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_income);
    findView();
    initView();
    initListener();
    models = new ArrayList<>();
    listAdapter = new ListAdapter(models, this);
    listAdapter.notifyDataSetChanged();
    listView.setAdapter(listAdapter);
}


1 commentaires

La question est une duplicata de Qu'est-ce qu'une nullpoinpointException, et Comment puis-je le réparer? . Veuillez éviter de répondre aux questions en double. Marquez-les comme des duplicats à la place



-2
votes
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_income);
     findView();
    initView();
    initListener();
    models = new ArrayList<>();
    listAdapter = new ListAdapter(models, this);
    listAdapter.notifyDataSetChanged();
    listView.setAdapter(listAdapter);

}

3 commentaires

La question est une duplicata de Qu'est-ce qu'une nullpoinpointException, et Comment puis-je le réparer? . Veuillez éviter de répondre aux questions en double. Marquez-les comme des duplicats à la place


@Vladyslavmatviienko: Il s'agit d'une plate-forme où vous pouvez fournir une solution, pas pour lire le document.


Fournir des réponses en double aux doublons Dommages à cette plate-forme. Les réponses aux mêmes questions ne doivent pas être fragmentées et fracturées entre plusieurs questions. Par conséquent, des questions en double ne sont pas les bienvenues, ainsi que de les répondre.



0
votes

Votre liste de liste n'est pas initialisée.

Ajouter FindView au-dessus du listview.setadapter (listeAdapter); ligne.

Pour plus d'informations sur NullCompact exception, et pourquoi cela se produit, Cliquez ici


1 commentaires

La question est une duplicata de Qu'est-ce qu'une nullpoinpointException, et Comment puis-je le réparer? . Veuillez éviter de répondre aux questions en double. Marquez-les comme des duplicats à la place



0
votes

Vous n'avez pas besoin d'appeler notifierdatastetchanged code> pour la première fois. De plus, vous devez initialiser vos points de vue par FOTEVIEDBYID CODE> Avant d'y accéder:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_income);
    findView();
    initView();
    initListener();

    models = new ArrayList<>();
    listAdapter = new ListAdapter(models, this);
    listView.setAdapter(listAdapter);

}


1 commentaires

La question est une duplicata de Qu'est-ce qu'une nullpoinpointException, et Comment puis-je le réparer? . Veuillez éviter de répondre aux questions en double. Marquez-les comme des duplicats à la place



0
votes

Vous devez juste avoir besoin d'introduire votre point de vue avant d'attribuer l'adaptateur à la liste de la liste d'esprit, il n'y a rien de mal à votre compagnon de code.

in oncreemethod - p>

findView();
initView();
initListener();
models = new ArrayList<>();
listAdapter = new ListAdapter(models, this);
listAdapter.notifyDataSetChanged();
listView.setAdapter(listAdapter);


1 commentaires

La question est une duplicata de Qu'est-ce qu'une nullpoinpointException, et Comment puis-je le réparer? . Veuillez éviter de répondre aux questions en double. Marquez-les comme des duplicats à la place