private void switchFragment(Fragment newContent) { if (getActivity() == null) return; // comprueba si getActivity es una instancia de Main_FragmentActivity, la clase que va a // contener este fragment // llama al metodo de swtich para hacer el replace(). if (getActivity() instanceof Main_FragmentActivity) { Main_FragmentActivity mFragmentActivity = (Main_FragmentActivity) getActivity(); mFragmentActivity.switchContent(newContent); } }
@SuppressWarnings("deprecation") @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Button main_eventos, main_sitios, main_buscar, main_descubre; // debe ser llamado para crear el menú, de lo contrario no aparecerán los items en el actionbar setHasOptionsMenu(true); changeActionBar(); setRetainInstance(true); // setRetainInstance(true) will tell the FragmentManager to keep the fragment around when the // containing Activity is killed and rebuilt for some reason. // It doesn't guarantee that the Fragment instance will stick around after a transaction to add // or replace. // hace referencia al objeto de la clase Main_fragment con todas las propiedades del slidingMenu slidingMenu = Main_FragmentActivity.putReference(); /*codigo de animationDrawable, fondo que cambia en la pantalla principal*/ // animacion asociada al linearLayout (tema 3 de Android - Dibujar en Android - pag 10) main_Layout = (LinearLayout) getActivity().findViewById(R.id.main_bg_layout); animacion_backgrounds = (AnimationDrawable) getActivity().getResources().getDrawable(R.anim.animacion_main_bg); // comprobacion si la version de android en la que se ejecuta es anterior a la // honeycomb(target16) // ya que setBackgroundDrawable es deprecated. if (Build.VERSION.SDK_INT <= 16) main_Layout.setBackgroundDrawable(animacion_backgrounds); else main_Layout.setBackground(animacion_backgrounds); new Handler() .postDelayed( new Runnable() { @Override public void run() { animacion_backgrounds.start(); } }, 500); // cambiar typeface's a los botones de la pantalla principal main_eventos = (Button) getActivity().findViewById(R.id.main_eventos_button); main_eventos.setTypeface(robotoBoldCondensed); main_eventos.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { newContent = new Main_Eventos(); if (newContent != null) { switchFragment(newContent); } } }); main_sitios = (Button) getActivity().findViewById(R.id.main_sitios_visitados_button); main_sitios.setTypeface(robotoBoldCondensed); main_buscar = (Button) getActivity().findViewById(R.id.main_buscar_sitio_button); main_buscar.setTypeface(robotoBoldCondensed); main_buscar.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { ArrayList<LugaresDeInteres_Item> arrayListAllLugares = LugaresDeInteres_Data_Objects.AllTheLugaresDeInteres(getActivity()); Main_FragmentActivity mFragmentActivity = (Main_FragmentActivity) getActivity(); mFragmentActivity.onBuscarSeleccionado(arrayListAllLugares); } }); main_descubre = (Button) getActivity().findViewById(R.id.main_descubre_button); main_descubre.setTypeface(robotoBoldCondensed); main_descubre.setOnClickListener( new OnClickListener() { // abrir el menu con el boton descubre valencia @Override public void onClick(View v) { if (slidingMenu.isShown()) new Handler() .postDelayed( new Runnable() { @Override public void run() { slidingMenu.toggle(); } }, 80); } }); }