2017-03-21 2 views
0

J'essaie d'afficher un fragment lorsqu'un bouton est enfoncé dans le tiroir de navigation du gabarit. J'ai appelé mon fragment "BluetoothFragment". Voici le code que j'ai des problèmes avec:Problème de fragmentation

@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 

    if (id == R.id.nav_bluetooth) { 
     BluetoothFragment bluetoothFragment = new BluetoothFragment(); 
     FragmentManager manager = getSupportFragmentManager(); 
     manager.beginTransaction().replace(R.id.ConstraintLayoutforfragment, bluetoothFragment).commit(); 

    } else if (id == R.id.nav_file) { 

    } else if (id == R.id.nav_watch_import) { 

    } else if (id == R.id.nav_account_settings_variant) { 

    } else if (id == R.id.nav_share) { 

    } else if (id == R.id.nav_send) { 

    } 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
} 

La ligne qui a l'erreur est:

manager.beginTransaction().replace(R.id.ConstraintLayoutforfragment, bluetoothFragment).commit(); 

Lorsque le "BluetoothFragment" donne l'erreur:

"Wrong 2nd argument type. Found: com.example.tferfilemanager.BluetoothFragment, required: android.support.v4.app.Fragment 

Salutations pour toute aide et conseil

Répondre

0

Essayez ceci:

Fragment fragment = new BluetoothFragment(); 

si elle ne fonctionne pas aussi, vérifiez si BluetoothFragment étend android.support.v4.app.Fragment

+0

acclamations mate, je ne savais pas que je devais changer le code étend haha –

0

Assurez-vous que votre BluetoothFragment.java étend Fragment

également supprimer import android.app.Fragment; de BluetoothFragment.java et le remplacer par

import android.support.v4.app.Fragment;