2016-05-06 7 views
2

Ich bin vor Problem, mit RecyclerView, Retrofit mit benutzerdefinierten Adapterklasse, bekommen:Ändern 'YoutubeRecyclerAdapter' aus 'Kontext' auf 'Rückruf <...>'

Change 2nd parameter of method 'VideoRecyclerAdapter' from 'Context' to 'Callback<ArrayList<VideoPojo>>' 

Adapter.java:

public VideoRecyclerAdapter(ArrayList<VideoPojo> personList, Context context) { 
     mPersonList = personList; 
     mPref = context.getSharedPreferences("person", Context.MODE_PRIVATE); 
     mEditor = mPref.edit(); 
    } 

Activity.java:

videoAPI.getData(strJSON, new Callback<ArrayList<VideoPojo>>() { 
     @Override 
     public void success(ArrayList<VideoPojo> videoPojoList, Response response) { 

      try { 
       videoList = videoPojoList; 
       videoAdapter = new VideoRecyclerAdapter(videoList, this); 
       recyclerView.setAdapter(videoAdapter); 

      } catch (Exception e) { 

      } 

     } 

    }); 

API.java:

public interface VideoAPI { 

    @GET("/list/{name}") 
    void getData(@Path("name") String name, Callback<ArrayList<VideoPojo>> response); 

} 
+0

bitte downvote meine Frage nicht .... – Sophie

Antwort

3

Gerade diese Zeile ändern

videoAdapter = new VideoRecyclerAdapter(videoList, this); 

zu

videoAdapter = new VideoRecyclerAdapter(videoList, YourActivity.this); 

unter inneren Schnittstelle Diese als Callback<ArrayList<VideoPojo>> referierten wird. Sie benötigen Application oder ActivityKontext.

+1

ohhh ... sorry ich nicht versucht haben, dass :) Dank --- als nützlich tickte und – Sophie

+1

in wenigen Minuten akzeptieren @Sophie Es ist einfach dumme Sache ist aber immer –

+0

erinnern yeah .. und noch eine dumme Frage, In Adapter kann Methode getContext() nicht lösen - Picasso.with (getContext()) – Sophie