J'essaie d'afficher dans mon application une liste d'images avec l'utilisateur et le nombre de JSON-URL à l'aide de RECYCLERVIEW et de Volley ... en fait j'ai suivi ce tutoriel: https://codinginflow.com/tatudials/android/recyClerview-volley-picasso/part-4-get- Demande
Probablement l'erreur provenait de ExamplateAdapter P>
Ceci est mon examen d'examen: P>
Process: com.example.jsontest, PID: 12700 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference at com.example.jsontest.ExampleAdapter.getItemCount(ExampleAdapter.java:49) at android.support.v7.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:3834) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3639) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:444) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) 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:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) 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:753) at android.view.View.layout(View.java:20672) at android.view.ViewGroup.layout(ViewGroup.java:6194) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2792) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2319) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183) 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:193) at android.app.ActivityThread.main(ActivityThread.java:6669) 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:858)
3 Réponses :
Dans les journaux, il est clairement mentionné que c'est NullpointerException lorsque vous appelez GetItemCount. La liste est donc nulle de votre réponse. Veuillez ajouter une vérification null avant de définir un adaptateur. Dans votre cas, Mexamplelist est NULL.
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference at com.example.jsontest.ExampleAdapter.getItemCount(ExampleAdapter.java:49)
Vous devriez toujours réinitialiser votre liste avant d'essayer de le remplir. Cela garantira que la liste n'est pas NULL, et cela garantira que la liste est vide pour commencer:
public void onResponse(JSONObject response) { try { //Always re-initialize your list before retrieving the data. mExamplelist = new ArrayList<ExampleItem>(); JSONArray jsonArray = response.getJSONArray("hits"); for (int i=0;i<jsonArray.length();i++){ JSONObject hit = jsonArray.getJSONObject(i); String creatorName = hit.getString("user"); String imageUrl = hit.getString("webformatURL"); int likeCount = hit.getInt("likes"); mExamplelist.add(new ExampleItem(imageUrl,creatorName,likeCount)); } mExampleAdapter = new ExampleAdapter(MainActivity.this, mExamplelist); mRecyclerView.setAdapter(mExampleAdapter); } catch (JSONException e) { Log.d("bibicha","me te5demchi zid chouf "); e.printStackTrace(); } }
Je le répare ... J'ai juste besoin de passer mon examen d'examen et du contexte au constructeur d'Examplateadapter } p> p>
Duplicail possible de Qu'est-ce qu'une nullpoinpoincerexception et comment puis-je Fixez-le?