私はRecyclerViewをセットアップしてムービーのリストを表示する必要があります。 API呼び出しを行った後にデータを取得することです。だから私の質問は:どのように私の活動のonCreateメソッドの後にデータを設定することができますか? onResumeでonCreate()の後にrecyclerviewでアダプタを追加する方法
// Fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_movie_overview, container, false);
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(getContext());
mRecyclerView.setLayoutManager(mLayoutManager);
movieOverviewPresenter.loadMovies();
return rootView;
}
@Override
public void showMovie(List<Movie> movies) {
mAdapter = new MovieOverviewAdapter(movies);
mRecyclerView.setAdapter(mAdapter);
}
// Presenter
@Override
public void loadMovies() {
retrofit.create(MovieService.class).getPopularMovies("API_KEY").subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io())
.subscribe(new Observer<Result>() {
@Override
public void onCompleted() {
Log.i("Request", "Success!");
}
@Override
public void onError(Throwable e) {
Log.d("Request", "Error: " + e);
}
@Override
public void onNext(Result result) {
mView.showMovie(result.getResults());
}
});
}
たとえば、onResume()でデータを設定できます。しかし、何が問題なのですか? – Marat
私はAPIコールの後に呼び出されるメソッドを持っています。私はそれを使用したいと思います。私の問題は、後でアダプターを設定しようとするとエラーが発生することです。**アダプターが接続されていません。レイアウトをスキップ** – Dedpul
あなたは何をしたのかを示すことができますか? –