Android Navigation tiroir fragments
J'ai mis en œuvre la navigation tiroir dans mon application android. mais maintenant, je veux être en mesure de modifier la mise en page à l'aide de fragments lorsque l'utilisateur clique sur un élément de liste dans la barre de navigation.
Voici ce que j'ai obtenu jusqu'à présent:
XML
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:background="#000000"
android:layout_height="match_parent" >
</FrameLayout>
<ListView android:id="@+id/left_drawer"
android:layout_width="220dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
Fichier Java
public class MainActivity extends Activity {
final String[] data ={"one","two","three"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout);
final ListView navList = (ListView) findViewById(R.id.left_drawer);
navList.setAdapter(adapter);
navList.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, final int pos,long id){
drawer.setDrawerListener( new DrawerLayout.SimpleDrawerListener(){
@Override
public void onDrawerClosed(View drawerView){
super.onDrawerClosed(drawerView);
}
});
drawer.closeDrawer(navList);
}
});
}
}
L'aide du code ci-dessus, j'ai mis en place la navigation tiroir de mon application et je vois "un", "deux" et "Trois" éléments de liste dans le tiroir de navigation, mais rien ne se passe quand je clique sur eux, sauf le tiroir se ferme.
Donc, ma question est :
Comment puis-je ajouter le fragment de la fonctionnalité le code donné ci-dessus?
Je suis débutant. Merci à l'avance!
pourquoi est-ce?.
OriginalL'auteur Chinmay Dabke | 2014-01-11
Vous devez vous connecter pour publier un commentaire.
Sur cliquez sur
Puis
voir mon edit.
dois-je mettre "selectItem(pos);" après le "tiroir.closeDrawer(navList);"?
pourquoi est-ce que vous avez tiré de code dans le onclick. supprimer tat. seulement selectItem(pos) après commutateur cas de fermer le tiroir
OK. Mais il sera de fermer le tiroir?
OriginalL'auteur Raghunandan
utiliser Ceci:
}
Pour Fragment:
FragmentActivity
. Si vous êtes à l'appui de la barre de navigation en dessous de 11, vous devez utiliser AppCompat. Besoin d'étendreActionBarActivity
Comme pour chaque question, il peut facilement fait par FragmentActivity.
son une de navigation de tiroir.
OriginalL'auteur Kishan
Après générer un
Navigation Drawer Activity
parFile->New->Activity->Navigation Drawer Activity
, voici 3 étapesPremière, allez à la
app_bar_main.xml
puisremplacer
<include layout="@layout/content_main"/>
par
Deuxième, allez à la
MainActivity
->onNavigationItemSelected
puis de le modifier commeEnfin, créer
Fragment
classe, par exemple un FragmentProjet de démonstration
OriginalL'auteur Phan Van Linh