2017-04-04 4 views
-1

J'ai fait une classe Navigation qui s'étend Fragment. Lorsque j'utilise la méthode onCreate(), il me donne une erreur en disant onCreate() la méthode des conflits de classe avec la méthode onCreate() de android.support.v4.app.Fragment.Obtenir une erreur: onCreate (Bundle) dans les conflits de classe avec onCreate (Bundle) dans android.support.v4.app.Fragment

package com.beacons.railwayaid.tablayoutapp; 

import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.support.v4.app.FragmentTransaction; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

import com.customlbs.library.IndoorsFactory; 
import com.customlbs.surface.library.IndoorsSurfaceFactory; 
import com.customlbs.surface.library.IndoorsSurfaceFragment; 


public class Navigation extends Fragment { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder(); 
    IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder(); 

    indoorsBuilder.setContext(getContext()); 

    indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f"); 



    indoorsBuilder.setBuildingId((long) 979231679); 

    surfaceBuilder.setIndoorsBuilder(indoorsBuilder); 

    IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build(); 

    FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
    transaction.add(android.R.id.content, indoorsFragment, "indoors"); 
    transaction.commit(); 
} 

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

    return rootView; 
    } 
} 
+0

S'il vous plaît ajouter journal avec l'erreur –

Répondre

0

Change:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    ... 
} 

à:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    ... 
} 
+0

onCreate méthode va avec l'accès du public sur En quelque sorte, j'ai foiré. Merci ditn –

0

Essayez de déplacer votre code à la méthode onActivityCreated comme ceci:

public class Navigation extends Fragment { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 

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

    return rootView; 
    } 

@Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder(); 
    IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder(); 

    indoorsBuilder.setContext(getContext()); 

    indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f"); 



    indoorsBuilder.setBuildingId((long) 979231679); 

    surfaceBuilder.setIndoorsBuilder(indoorsBuilder); 

    IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build(); 

    FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
    transaction.add(android.R.id.content, indoorsFragment, "indoors"); 
    transaction.commit(); 

    } 
}