-
Notifications
You must be signed in to change notification settings - Fork 3
Fragments
rustie edited this page Apr 10, 2018
·
1 revision
Some fragments. Most common use is fragment open on navigation drawer selection.
Inflates layout with two horizontally scrolling RecyclerViews for displaying DiningHall and Cafe cards.
// set up dining hall RecyclerView
mDiningRecyclerView = (RecyclerView) layout.findViewById(R.id.dining_hall_recycler_view);
mDiningRecyclerView.setHasFixedSize(true);
mDiningRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
mDiningHallList = new ArrayList<>();
mDiningRecyclerView.setAdapter(new FoodPlaceAdapter(getContext(), mDiningHallList, FoodPlaceAdapter.FoodType.DiningHall));
// set up cafe RecyclerView
mCafeRecyclerView = (RecyclerView) layout.findViewById(R.id.cafe_recycler_view);
mCafeRecyclerView.setHasFixedSize(true);
mCafeRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
mCafeList = new ArrayList<>();
mCafeRecyclerView.setAdapter(new FoodPlaceAdapter(getContext(), mCafeList, FoodPlaceAdapter.FoodType.Cafe));
Clicking on RecylerView components will launch OpenCafeActivity
or OpenDiningHallActivity
accordingly.
For details, see the corresponding adapters.
Fetches information from the backend asynchronously by using enqueue
, making UI prompts
accordingly with refresh button and toasts.
private void getDining() {
mDiningHallsCall.enqueue(new retrofit2.Callback<DiningHallsResponse>() {
@Override
public void onResponse(Call<DiningHallsResponse> call, Response<DiningHallsResponse> response) {
mDiningHallList = (List<FoodPlace>) response.body().getDiningHalls();
mDiningHallLabel.setVisibility(View.VISIBLE);
mDiningRecyclerView.setVisibility(View.VISIBLE);
mProgressBar.setVisibility(View.GONE);
mDiningRecyclerView.setAdapter(new FoodPlaceAdapter(getContext(), mDiningHallList, FoodPlaceAdapter.FoodType.DiningHall));
}
@Override
public void onFailure(Call<DiningHallsResponse> call, Throwable t) {
mProgressBar.setVisibility(View.GONE);
mRefreshWrapper.setVisibility(View.VISIBLE);
Toast.makeText(getContext(), "Unable to retrieve dining hall data, please try again",
Toast.LENGTH_SHORT).show();
}
});
}
- Home
- Controllers
- Dagger
- Domain
- Infrastructure
- Utilities
- Values
- Functional Docs