package org.olomono.messenger.view.roster; import android.arch.lifecycle.Observer; import android.arch.lifecycle.ViewModelProviders; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import org.olomono.messenger.R; import org.olomono.messenger.persistence.database.model.RosterEntryModel; import org.olomono.messenger.view.viewmodel.RosterEntryListViewModel; import java.util.ArrayList; import java.util.List; /** * A placeholder fragment containing a simple view. */ public class RosterEntryListFragment extends Fragment { private RosterEntryListViewModel viewModel; private RosterEntryListRecyclerViewAdapter recyclerViewAdapter; private RecyclerView recyclerView; public RosterEntryListFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_roster_entry_list, container, false); recyclerView = view.findViewById(R.id.roster_entry_list__recycler_view); recyclerViewAdapter = new RosterEntryListRecyclerViewAdapter(new ArrayList<>()); recyclerView.setAdapter(recyclerViewAdapter); viewModel = ViewModelProviders.of(this).get(RosterEntryListViewModel.class); viewModel.getRosterEntryList().observe(RosterEntryListFragment.this, new Observer>() { @Override public void onChanged(@Nullable List rosterEntryModels) { recyclerViewAdapter.addItems(rosterEntryModels); } }); return view; } }