Ich weiß, dass diese Frage bereits gestellt wurde, aber nachdem ich die Antworten überprüft habe, kann ich immer noch nicht die Lösung herausfinden. Das ist mein Adapter:RecyclerView: Kein Adapter angeschlossen
public static class StarredReposViewHolder extends RecyclerView.ViewHolder {
LinearLayout starredReposLayout;
TextView starredRepoName;
public StarredReposViewHolder(View v) {
super(v);
starredReposLayout = (LinearLayout) v.findViewById(R.id.repo_starred_item_layout);
starredRepoName = (TextView) v.findViewById(R.id.starredepoName);
}
}
public StarredReposAdapter(List<GitHubstarredRepos> repos, int rowLayout, Context context) {
this.starredRepos = repos;
this.rowLayout = rowLayout;
this.context = context;
}
@Override
public StarredReposAdapter.StarredReposViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(rowLayout, parent, false);
return new StarredReposViewHolder(view);
}
@Override
public void onBindViewHolder(StarredReposViewHolder holder, int position) {
holder.starredRepoName.setText(starredRepos.get(position).getStarredName());
}
@Override
public int getItemCount() {
return starredRepos.size();
}
Und das ist die Methode, die ich es laden in:
public void loadStarredRepos (View view){
final RecyclerView recyclerViewSt = (RecyclerView) findViewById(R.id.starred_repos_recycler_view);
recyclerViewSt.setLayoutManager(new LinearLayoutManager(this));
GitHubStarredRepoAPI apiService =
ApiClient.getClient().create(GitHubStarredRepoAPI.class);
Call<List<GitHubstarredRepos>> call = apiService.getStarredRepoName(newString);
call.enqueue(new Callback<List<GitHubstarredRepos>>() {
@Override
public void onResponse(Call<List<GitHubstarredRepos>> call, Response<List<GitHubstarredRepos>>
response) {
recyclerViewSt.setAdapter(new StarredReposAdapter(response.body(), R.layout.list_item_starred_repo,
getApplicationContext()));
}
@Override
public void onFailure(Call<List<GitHubstarredRepos>> call, Throwable t) {
// Log error here since request failed
Log.e("Repos", t.toString());
}
});
}
Der Körper onResponse richtig eingegeben wurde. Das Problem kann nicht darin bestehen, dass es in onCreate definiert ist, da ich eine andere Recycle-Ansicht auf demselben Bildschirm habe, die von einer anderen Methode geladen wurde. Vielen Dank!
PS: Die Antwort von response.body()
Was 'response.body()' zurückgibt? – Piyush
Es gibt eine ArrayList mit n Elementen zurück, jeder von ihnen hat seinen Namen korrekt aus der API übernommen, nur in den Logs erneut eingecheckt. – user6456773
Zeig mir die Antwort für _response.body() _ – Piyush