Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] problemas con NavigationDrawer y Tabs

Estas en el tema de problemas con NavigationDrawer y Tabs en el foro de Android en Foros del Web. Buenas, tengo un pequeño gran problema con el menú del navigation drawer y unos tabs. El caso es que en una sección del menu del ...
  #1 (permalink)  
Antiguo 08/09/2013, 12:10
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 11 años, 5 meses
Puntos: 1
problemas con NavigationDrawer y Tabs

Buenas, tengo un pequeño gran problema con el menú del navigation drawer y unos tabs. El caso es que en una sección del menu del navigation drawer he puesto unas tabs y no se llevan muy bien. Cuando le doy a que se despliegue el menú, el contenido del fragmen de los tabs se me queda por encima del menú haciendo imposible que lo pueda pulsar. Como una imagen vale más que mil palabras, ahí tenéis:



el código que tengo es así:

en el fragment de la agenda (el que se llama desde el mainActivity al pulsar en la opción de menu agenda)

Código:
public class AgendaFragment extends SherlockFragment {

	View fragment;

	MainActivity mActivity;
	ActionBar actionBar;
	Tab tab;

	public static AgendaFragment newInstance() {
		AgendaFragment mFragment = new AgendaFragment();

		return mFragment;
	}

	@Override
	public void onStart() {
		super.onStart();
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		mActivity = (MainActivity) getActivity();
		
		actionBar = mActivity.getSupportActionBar();
		
		actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
		
        tab = actionBar.newTab().setTabListener(new EventosFuturosFragment());
        tab.setText(mActivity.getResources().getString(R.string.tab_eventos));
        actionBar.addTab(tab);
 
        tab = actionBar.newTab().setTabListener(new EventosPasadosFragment());
        tab.setText(mActivity.getResources().getString(R.string.tab_eventos_pasados));
        actionBar.addTab(tab);
		
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		fragment = inflater.inflate(R.layout.list, null);
		setHasOptionsMenu(true);

		

		return fragment;
	}

	@Override
	public void onResume() {
		super.onResume();
	}

	@Override
	public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu,
			com.actionbarsherlock.view.MenuInflater inflater) {
		super.onCreateOptionsMenu(menu, inflater);
		menu.clear();
	}

	@Override
	public boolean onOptionsItemSelected(
			com.actionbarsherlock.view.MenuItem item) {
		return super.onOptionsItemSelected(item);
	}
}
el de uno de los fragment de los tabs:

Código:
public class EventosPasadosFragment extends SherlockFragment implements
ActionBar.TabListener{

	private Fragment mFragment;
	
	View fragment;
	ListView lv;
	ProgressDialog dialog;

	MainActivity mActivity;

	RequestQueue mRequestQueue;

	EventoAdapter eventoAdapter;

	ArrayList<Evento> items;
	String url;

	public static EventosPasadosFragment newInstance() {
		EventosPasadosFragment mFragment = new EventosPasadosFragment();

		return mFragment;
	}

	@Override
	public void onStart() {
		super.onStart();
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		mActivity = (MainActivity) getActivity();
		eventoAdapter = new EventoAdapter(this.getActivity());
		items = new ArrayList<Evento>();
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		fragment = inflater.inflate(R.layout.list, null);
		setHasOptionsMenu(true);

		lv = (ListView) fragment.findViewById(R.id.item_list);
		lv.setAdapter(eventoAdapter);

		lv.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				
			}

		});

		mRequestQueue = Volley.newRequestQueue(this.getActivity()
				.getApplicationContext());

		obtenerEventos();

		return fragment;
	}

	@Override
	public void onResume() {
		super.onResume();
	}

	@Override
	public void onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu,
			com.actionbarsherlock.view.MenuInflater inflater) {
		super.onCreateOptionsMenu(menu, inflater);
		menu.clear();
	}

	@Override
	public boolean onOptionsItemSelected(
			com.actionbarsherlock.view.MenuItem item) {
		return super.onOptionsItemSelected(item);
	}

	public void onTabSelected(Tab tab, FragmentTransaction ft) {
        mFragment = new EventosPasadosFragment();
        ft.add(android.R.id.content, mFragment);
        ft.attach(mFragment);
    }
 
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        ft.remove(mFragment);
    }
 
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }
Me haríais feliz diciéndome como podría solucionar esto...


Gracias de antemano!
  #2 (permalink)  
Antiguo 12/09/2013, 05:38
 
Fecha de Ingreso: octubre-2012
Ubicación: Madrid
Mensajes: 67
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: problemas con NavigationDrawer y Tabs

lo he solucionado usando "NavDrawerPagerSlidingTabStrip" en vez de "NavigationDrawer"

Etiquetas: activity, app, listview, tabs
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:17.