package com.yzy.supercleanmaster.fragment;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RadioButton;
import com.yzy.supercleanmaster.R;
import com.yzy.supercleanmaster.base.BaseFragment;
import butterknife.ButterKnife;
public class NavigationDrawerFragment extends BaseFragment {
private DrawerLayout mDrawerLayout;
private View mFragmentContainerView;
private boolean mFromSavedInstanceState;
private NavigationDrawerCallbacks mCallbacks;
final int radioIds[] = {
R.id.radio0,
R.id.radio1,
R.id.radio2
};
RadioButton radios[] = new RadioButton[radioIds.length];
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Indicate that this fragment would like to influence the set of
// actions in the action bar.
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.fragment_navigation_drawer,
container, false);
ButterKnife.inject(this, view);
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
fillData();
}
private void fillData() {
for (int i = 0; i < radioIds.length; ++i) {
radios[i] = (RadioButton) getView().findViewById(radioIds[i]);
radios[i].setOnClickListener(clickItem);
}
}
public void setUp(int fragmentId, DrawerLayout drawerLayout) {
mFragmentContainerView = getActivity().findViewById(fragmentId);
mDrawerLayout = drawerLayout;
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
}
View.OnClickListener clickItem = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < radios.length; ++i) {
if (v.equals(radios[i])) {
selectItem(i);
} else {
radios[i].setChecked(false);
}
}
}
};
private void selectItem(int position) {
// if (mDrawerLayout != null) {
// mDrawerLayout.closeDrawer(mFragmentContainerView);
// }
if (mCallbacks != null) {
mCallbacks.onNavigationDrawerItemSelected(position);
}
}
private ActionBar getActionBar() {
return getActivity().getActionBar();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mCallbacks = (NavigationDrawerCallbacks) activity;
} catch (ClassCastException e) {
throw new ClassCastException(
"Activity must implement NavigationDrawerCallbacks.");
}
}
@Override
public void onDetach() {
super.onDetach();
mCallbacks = null;
}
public static interface NavigationDrawerCallbacks {
void onNavigationDrawerItemSelected(int position);
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.reset(this);
}
}