packageorg.marcinzelent.liberavem;importandroid.content.Context;importandroid.net.Uri;importandroid.os.Bundle;importandroid.support.v4.app.Fragment;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.GridView;importorg.jetbrains.annotations.Nullable;/** * A simple {@link Fragment} subclass. * Activities that contain this fragment must implement the * {@link AtlasFragment.OnFragmentInteractionListener} interface * to handle interaction events. * Use the {@link AtlasFragment#newInstance} factory method to * create an instance of this fragment. */publicclassAtlasFragmentextendsFragment{// TODO: Rename parameter arguments, choose names that match// the fragment initialization parameters, e.g. ARG_ITEM_NUMBERprivatestaticfinalStringARG_PARAM1="param1";privatestaticfinalStringARG_PARAM2="param2";// TODO: Rename and change types of parametersprivateStringmParam1;privateStringmParam2;privateOnFragmentInteractionListenermListener;publicAtlasFragment(){// Required empty public constructor}/** * Use this factory method to create a new instance of * this fragment using the provided parameters. * * @param param1 Parameter 1. * @param param2 Parameter 2. * @return A new instance of fragment AtlasFragment. */// TODO: Rename and change types and number of parameterspublicstaticAtlasFragmentnewInstance(Stringparam1,Stringparam2){AtlasFragmentfragment=newAtlasFragment();Bundleargs=newBundle();args.putString(ARG_PARAM1,param1);args.putString(ARG_PARAM2,param2);fragment.setArguments(args);returnfragment;}@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);if(getArguments()!=null){mParam1=getArguments().getString(ARG_PARAM1);mParam2=getArguments().getString(ARG_PARAM2);}((MainActivity)getActivity()).setActionBarTitle("Atlas");}@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){// Inflate the layout for this fragmentreturninflater.inflate(R.layout.fragment_atlas,container,false);}// TODO: Rename method, update argument and hook method into UI eventpublicvoidonButtonPressed(Uriuri){if(mListener!=null){mListener.onFragmentInteraction(uri);}}@OverridepublicvoidonViewCreated(Viewview,@NullableBundlesavedInstanceState){GridViewatlasGrid=view.findViewById(R.id.atlas_grid);atlasGrid.setAdapter(newAtlasGridAdapter(getActivity(),DataKeeper.getInstance().getBirds()));}@OverridepublicvoidonAttach(Contextcontext){super.onAttach(context);if(contextinstanceofOnFragmentInteractionListener){mListener=(OnFragmentInteractionListener)context;}else{thrownewRuntimeException(context.toString()+" must implement OnFragmentInteractionListener");}}@OverridepublicvoidonDetach(){super.onDetach();mListener=null;}/** * 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. * <p> * See the Android Training lesson <a href= * "http://developer.android.com/training/basics/fragments/communicating.html" * >Communicating with Other Fragments</a> for more information. */publicinterfaceOnFragmentInteractionListener{// TODO: Update argument type and namevoidonFragmentInteraction(Uriuri);}}