0
onCreate()内でRecyclerViewのアダプタを設定しようとしています。 notifyDatasetChanged()はメインスレッドでのみ呼び出すことができます。しかし、どのようにこれを達成することができますか?ここまでのコードはjava.lang.IllegalMonitorStateException:notify()の前にスレッドによってオブジェクトがロックされていない - onResponse
RecyclerView recyclerViewSt;
List<GitHubstarredRepos> myDataSource = new ArrayList<>();
RecyclerView.Adapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
recyclerViewSt = (RecyclerView) findViewById(R.id.starred_repos_recycler_view);
recyclerViewSt.setLayoutManager(new LinearLayoutManager(this));
myAdapter = new StarredReposAdapter(myDataSource, R.layout.list_item_starred_repo,
getApplicationContext());
recyclerViewSt.setAdapter(myAdapter);
}
public void loadStarredRepos (View view){
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) {
myDataSource.clear();
myDataSource.addAll(response.body());
recyclerViewSt.notify();
}
ありがとうございます!
ああ、簡単!どうもありがとう! – user6456773
私の喜び.. ..もし私が手伝ったら私の答えを受け入れる。 :) – LearnPainLess