2017-08-13 6 views
2

Ich versuche, eine untere Navigationsleiste mit 3 Elementen innerhalb eines Fragments anzuzeigen, und sie wird korrekt und ohne Fehler in meinem Code angezeigt. Aber die Sache ist, dass, wenn ich auf eine der Optionen klicke, der Code, der ausgeführt werden soll, nicht funktioniert, er protokolliert überhaupt nichts auf der Konsole.

TransporteFragment.Java:Die untere Navigationsleiste funktioniert nicht innerhalb des Fragments

import android.os.Bundle; 
import android.support.annotation.NonNull; 
import android.support.design.widget.BottomNavigationView; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.view.LayoutInflater; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 


/** 
* A simple {@link Fragment} subclass. 
*/ 
public class TransporteFragment extends Fragment { 


    public TransporteFragment() { 
     // Required empty public constructor 
    } 

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener 
      = new BottomNavigationView.OnNavigationItemSelectedListener() { 

     @Override 
     public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
      switch (item.getItemId()) { 
       case R.id.action_busC1: 

        return true; 
       case R.id.action_busC2: 
        BusC2Fragment busC2Fragment = new BusC2Fragment(); 
        FragmentManager fragmentManager = getChildFragmentManager(); 
        fragmentManager.beginTransaction().replace(R.id.espacioLineas, busC2Fragment).commit(); 
        return true; 
       case R.id.action_busC3: 

        return true; 
      } 
      return false; 
     } 

    }; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     final View v = inflater.inflate(R.layout.fragment_transporte, container, false); 

     BottomNavigationView navegacion = (BottomNavigationView) v.findViewById(R.id.navbartransporte); 
     navegacion.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); 


     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_transporte, container, false); 
    } 

} 

fragment_transporte.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.gberti.smarthuesca.TransporteFragment"> 



    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/espacioLineas"> 

    </FrameLayout> 
    <android.support.design.widget.BottomNavigationView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/navbartransporte" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_alignParentBottom="true" 
     android:background="@color/white" 
     app:menu="@menu/navbar_transporte_items" /> 
</RelativeLayout> 

Danke.

Antwort

1

In Ihrem onCreateView Methode statt return inflater.inflate(R.layout.fragment_transporte, container, false); versuchen return v;

+0

Ihnen sehr danken. Das war das einzige Problem, und ich hatte gedacht, dass es kein Problem geben würde, aber jetzt funktioniert es perfekt. –

Verwandte Themen