2016-03-29 13 views
0

Ich habe das folgende Problem, ich versuche, eine Listview mit Bildern zu erstellen, die ich von einem Server bekomme. Ich gebe die URL weiter und es sollte die Bilder in der Liste ausspucken. das und alles funktioniert richtig. Ich benutze das folgende Bit des CodesPicasso-Kontext ist null

public class ParseJSON extends BaseAdapter { 

    private static final String IMAGE_URL_BASE = ""; 

    Context mContext; 
    LayoutInflater mInflater; 
    JSONArray mJsonArray; 

    public ParseJSON(Context context, LayoutInflater inflater) { 

     mContext = context; 
     mInflater = inflater; 
     mJsonArray = new JSONArray(); 
    } 

Hier versuche ich den Kontext zu bekommen. Ich habe auch versucht, es von der Mainactivity.java zu übergeben, aber das funktioniert auch nicht. Ich verwende es hier

Picasso.with(mContext) 
        .load(imageURL) 
        .placeholder(R.drawable.sportmuziek) 
        .into(holder.musicArtwork); 

Aber ich bin immer noch, dass mcontext aus irgendeinem Grund null ist. Ich habe gesucht und ich weiß, dass ich den Kontext einstellen muss, aber es sollte es von der parsejson Aktivität bekommen. Aber aus irgendeinem Grund ist das nicht möglich. Ich habe keine Ahnung, wie das funktioniert.

Vielen Dank.

+0

Versuchen Sie 'this.mContext = context'. –

+0

ich werde dies versuchen, danke – carlosx2

+0

Sie müssen nicht beide 'Context' und' LayoutInflater' Argumente übergeben. Sie können ein 'Context'-Objekt verwenden, um einen 'LayoutInflater' mit dem statischen [' LayoutInflater.from (context) '] (http://developer.android.com/reference/android/view/LayoutInflater.html#from (android.content.Context)) Methode, und erhalte einen 'Context' von einem' LayoutInflater' mit dem '' getContext() '] (http://developer.android.com/reference/android/view/LayoutInflater.html# getContext()) Methode. – PPartisan

Antwort

0

Haben Sie in der mContext mit Debugging überprüft, ob die übergebene Referenz gesetzt ist.

wenn diese dann nicht in derselben Klasse in Ihrer getView Funktion hilft können Sie Kontext direkt von ViewGroup mit

context = viewGroup.getContext(); 

Hoffnung, dies hilft Ihnen zu bekommen.

+0

Könnte eine Option sein. Vielen Dank – carlosx2