Error Bottom Navigation with Fragment

1

I want to open a fragment by selecting an Item from the Bottom Navigation that I created, but the following code is the one that does not let me continue because it appears wrong in the fragment before the fragment.getTag and does not How to solve it. THANK YOU

  

(R.id.contentLayout, fragment, fragment.getTag ()). commit ();

here my complete code:

MainActivity.java

bottomNavigationView =(BottomNavigationView) findViewById(R.id.bottom_navegation);

    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {

            if (item.getItemId()== R.id.consultaItem){

                citaFragment fragment = new citaFragment();
                android.app.FragmentManager manager = getFragmentManager();
                manager.beginTransaction().replace(R.id.contentLayout,
                        //aquí tengo el error -> fragment,
                        fragment.getTag()).commit();

            }


            else if (item.getItemId()== R.id.inicioItem) {


               mensajeRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                       String value = dataSnapshot.getValue(String.class);

                        infoTextView.setText(value);

                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });
                return true;


            }
            else if (item.getItemId() == R.id.ubicacionItem) {

                //infoTextView.setText(R.string.precio);
                return true;


            }


            return false;
        }
    });

fragment_cita

<android.support.constraint.ConstraintLayout 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"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
tools:context="com.example.a60393.example.citaFragment">

<!-- TODO: Update blank fragment layout -->

<include
    android:id="@+id/tool_bar"
    layout="@layout/tool_bar"/>

<android.support.v7.widget.CardView
    android:id="@+id/card"
    android:layout_width="395dp"
    android:layout_height="120dp"
    card_view:cardCornerRadius="6dp"
    android:layout_marginTop="60dp"
    card_view:cardElevation="10dp"
    card_view:cardUseCompatPadding="true"
    tools:layout_editor_absoluteY="0dp"
    tools:layout_editor_absoluteX="8dp">

    <TextView
        android:id="@+id/citaTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="Cita:"
        android:textStyle="bold"
        android:textColor="@color/colorPrimary"
        android:textAlignment="center"
        android:textSize="35dp"/>

    <TextView
        android:id="@+id/horaFechaTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        android:text="@string/_12_mayo_2017"
        android:textStyle="bold"
        android:textColor="424242"
        android:textAlignment="center"
        android:textSize="20dp"/>

</android.support.v7.widget.CardView>

    
asked by David Ramírez 15.05.2017 в 22:42
source

2 answers

1

You are instantiating a

  

android.app.FragmentManager

So this expects the same type instead of your fragment which is

  

android.support.v4.app.Fragment

Replace as follows:

Fragment fragment = new citaFragment();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.contentLayout,
        fragment,
        fragment.getTag()).commit();
    
answered by 15.05.2017 / 23:18
source
0

You do not need to add the description of Fragment , only the container and the instance of Fragment :

citaFragment fragment = new citaFragment();
 android.app.FragmentManager manager = getFragmentManager();
 //manager.beginTransaction().replace(R.id.contentLayout, fragment, fragment.getTag()).commit();
 manager.beginTransaction().replace(R.id.contentLayout, fragment).commit();
    
answered by 16.05.2017 в 00:25