package org.rudirect.android.fragment; import android.app.Fragment; import android.os.Bundle; import android.support.design.widget.AppBarLayout; import android.support.v4.widget.SwipeRefreshLayout; import android.view.Menu; import android.view.MenuInflater; import android.view.View; import org.rudirect.android.R; import org.rudirect.android.activity.MainActivity; public class BaseMainFragment extends Fragment implements AppBarLayout.OnOffsetChangedListener { protected SwipeRefreshLayout mSwipeRefreshLayout; protected AppBarLayout appBarLayout; protected MainActivity mainActivity; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mainActivity = (MainActivity) getActivity(); setHasOptionsMenu(true); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); appBarLayout = (AppBarLayout) mainActivity.findViewById(R.id.appbar); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.menu_settings, menu); } @Override public void onOffsetChanged(AppBarLayout appBarLayout, int i) { if (i == 0) { mSwipeRefreshLayout.setEnabled(true); } else { mSwipeRefreshLayout.setEnabled(false); } } @Override public void onResume() { super.onResume(); appBarLayout.addOnOffsetChangedListener(this); } @Override public void onPause() { super.onPause(); appBarLayout.removeOnOffsetChangedListener(this); } }