package net.plil.clubinfo.etunicorn.app.consommation; import android.content.Context; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.app.NFCSupport; import net.plil.clubinfo.etunicorn.data.Consommation; import java.util.ArrayList; import java.util.List; /** * A fragment representing a list of Items. *

* Activities containing this fragment MUST implement the {@link OnListFragmentInteractionListener} * interface. */ public class FragmentConsommation extends Fragment implements NFCSupport { private OnListFragmentInteractionListener mListener; /** * Mandatory empty constructor for the fragment manager to instantiate the * fragment (e.g. upon screen orientation changes). */ public FragmentConsommation() { } public static FragmentConsommation newInstance() { return new FragmentConsommation(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_consomation_item_list, container, false); RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.consomation_list); // Set the adapter Context context = recyclerView.getContext(); recyclerView.setLayoutManager(new LinearLayoutManager(context)); List consommationList = new ArrayList<>(); Consommation c1 = new Consommation(); c1.setIdConsomation(1); c1.setNomConsomation("Hello"); c1.setPrix(12.5); consommationList.add(c1); for (int i = 0; i < 100; ++i) { c1 = new Consommation(); c1.setIdConsomation(i); c1.setNomConsomation("World"); c1.setPrix(42.407); consommationList.add(c1); } recyclerView.setAdapter(new ConsommationRecyclerViewAdapter(consommationList, mListener, this.getActivity())); FloatingActionButton fAB = (FloatingActionButton) view.findViewById(R.id.consomation_add); fAB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { CreateConsommation newFragment = new CreateConsommation(); newFragment.show(getFragmentManager(), "CreateConsommation"); } }); return view; } @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnListFragmentInteractionListener) { mListener = (OnListFragmentInteractionListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnListFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; } @Override public void processNFC(String idCardUser) { PaiementConsommation paiementConsommation = (PaiementConsommation) getFragmentManager().findFragmentByTag("paiementConsommation"); if (paiementConsommation == null) { Toast.makeText(getContext(), R.string.payment_consumable_alert_no_selection, Toast.LENGTH_LONG).show(); } else { paiementConsommation.processNFC(idCardUser); } } /** * This interface must be implemented by activities that contain this * fragment to allow an interaction in this fragment to be communicated * to the activity and potentially other fragments contained in that * activity. *

* See the Android Training lesson Communicating with Other Fragments for more information. */ public interface OnListFragmentInteractionListener { void onListFragmentInteraction(Consommation item); } }