package com.yokmama.learn10.chapter04.lesson18.activity;
import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.yokmama.learn10.chapter04.lesson18.R;
import com.yokmama.learn10.chapter04.lesson18.fragment.GridViewFragment;
import com.yokmama.learn10.chapter04.lesson18.fragment.ListViewFragment;
import com.yokmama.learn10.chapter04.lesson18.fragment.ScrollViewFragment;
public class NavigationDrawerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation_drawer);
final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
//NavigationViewの項目に対してクリック処理
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.action_listview:
replaceFragment(new ListViewFragment());
drawerLayout.closeDrawers();
return true;
case R.id.action_gridview:
replaceFragment(new GridViewFragment());
drawerLayout.closeDrawers();
return true;
case R.id.action_scrollview:
replaceFragment(new ScrollViewFragment());
drawerLayout.closeDrawers();
return true;
}
return false;
}
});
if(getSupportFragmentManager().findFragmentById(R.id.container) == null){
replaceFragment(new PlaceholderFragment());
}
}
private void replaceFragment(Fragment fragment) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, fragment);
transaction.commit();
}
public static class PlaceholderFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.placeholder, container, false);
return rootView;
}
}
}