2013-01-07 1 views
1

je besoin d'une aide, dans mon AsyncTask j'appelle mon MainActivity et l'adaptateur de mise à jour, mais LogCat donnent NullPointerException sur onPostExecture i cheked dans cette, il est non nul, ont des valeursliste mise à jour Android AsyncTask

AsyncTask. java

protected void onPostExecute(List<MoviesCategory> result){ 
    super.onPostExecute(result); 
    //Here i have Error, i cheked result it's not null. 
    //On AsyncTask i have Constructor when i get Activity. 
    activity.mMoviesAdapter.addCategory(result); 
} 

Adapter.java

List<MoviesCategory> mListMovies; 

public void addCategory(List<MoviesCategory> list){ 
    mListMovies.addAll(list); 
    notifyDataSetChanged(); 
} 

Qu'est-ce que je fais mal,

Mise à jour

Mise à jour

FATAL EXCEPTION: main 
java.lang.NullPointerException 
    at uz.afishamedia.Adapter.MoviesAdapter.addCategory(MoviesAdapter.java:49) 
    at uz.afishamedia.Utils.LoadMovies.onPostExecute(LoadMovies.java:74) 
    at uz.afishamedia.Utils.LoadMovies.onPostExecute(LoadMovies.java:1) 
    at android.os.AsyncTask.finish(AsyncTask.java:631) 
    at android.os.AsyncTask.access$600(AsyncTask.java:177) 
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:5191) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
    at dalvik.system.NativeStart.main(Native Method) 
+0

Pouvez-vous envoyer toute trace de la pile? Comme dans, où se trouve le 'NullPointerException' réel? Dans 'onPostExecute()' ou dans 'addCategory()'? –

+0

Voici une [pile trace] (http://bit.ly/IumUod) –

+1

vous êtes russe aussi, si vous pouvez répondre à la question en Russie s'il vous plaît faites-le :) –

Répondre

1

Le problème est que mListMovies est nulle. Initialiser comme ceci dans votre adaptateur:

private List<MoviesCategory> mListMovies = new ArrayList<MoviesCategory>(); 
+0

merci d'aider! –

1

Votre liste mListMovies initialisé? Dans votre code publié, vous créez uniquement la variable de référence, mais ne créez pas de liste réelle. Si la variable de référence n'est pas initialisée, l'appel d'une méthode entraînera un NullPointerException. Ainsi, au lieu d'utiliser:

List<MoviesCategory> mListMovies; 

Utilisation:

List<MoviesCategory> mListMovies = new ArrayList<MoviesCategory>(); 
+0

merci de votre aide! –

1

Je pense que vous avez peut-être pas initialiser mListMovies.
Ajoutant cela peut aider:

List<MoviesCategory> mListMovies = new ArrayList<MoviesCategory>(); 
+0

merci de votre aide! –

1

Le problème est que mListMovies est nulle dès le début. Vous devrez l'initialiser en premier.

Adapter.java:

List<MoviesCategory> mListMovies = new ArrayList<MoviesCategory>(); 
+1

merci d'aider! –

Questions connexes