11
votes

Ajouter une barre d'actions à la liste de la liste

Bonjour donc j'ai créé une liste et je veux ajouter une barre d'action. Je suis assez nouveau à Android, je voudrais donc savoir comment ajouter une barre d'action tout en utilisant la liste de la liste. Toute aide serait appréciée. Merci Mon code:

     public class MainActivity extends ListActivity {

     ArrayList<Item> items = new ArrayList<Item>();

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


        items.add(new SectionItem("2x2 Matrices"));
        items.add(new EntryItem("Adding 2 Matrices"));
        items.add(new EntryItem("Subtracting 2 Matrices"));
        items.add(new EntryItem("Multiplying 2 Matrices"));
        items.add(new EntryItem("Multiplying by a constant"));
        items.add(new EntryItem("Dividing 2 Matrices"));
        items.add(new EntryItem("Negative of a Matrix"));
        items.add(new EntryItem("Inverse of a Matrix"));
        items.add(new EntryItem("Determinant of a Matrix"));

        /*Section2*/
        items.add(new SectionItem("3x3 Matrices"));
        items.add(new EntryItem("Item 4"));
        items.add(new EntryItem("Item 5"));
        items.add(new EntryItem("Item 6"));
        items.add(new EntryItem("Item 7"));
        /*Section3*/
        items.add(new SectionItem("Category 3"));
        items.add(new EntryItem("Item 8"));
        items.add(new EntryItem("Item 9"));
        items.add(new EntryItem("Item 10"));
        items.add(new EntryItem("Item 11"));
        items.add(new EntryItem("Item 12"));

        EntryAdapter adapter = new EntryAdapter(this, items);

        setListAdapter(adapter);
    }

}


0 commentaires

4 Réponses :


5
votes

Puis dans la méthode oncreateOptionsMenu () de votre activité, gonflez la ressource de menu dans le menu donné pour ajouter chaque élément à la barre d'action: xxx

Plus d'infos sur la barre d'action


1 commentaires

Cela ne fonctionne pas pour moi sur Android 4.4.2. J'utilise une liste de liste avec style Android: theme.holo.light.darkactionbar .



9
votes

Vous pouvez utiliser des thèmes holo, vous n'avez besoin que de cet écran?

dans Manifest Android: P>

Pour un seul écran, mettez le thème Atribute, comme celui-ci: P>

<style name="My_Theme" parent="@android:style/Theme.Holo.Light.NoActionBar"></style>


0 commentaires

14
votes

premier - Assurez-vous que votre minimum d'Android API-14 ou version ultérieure .

alors , ajouter Android: thème = "@android: style / thème.holo.light.darkactionbar" Dans votre listview_activity dans androidmanifest.xml classe.

exemple xxx


1 commentaires

Cela a fonctionné pour moi, mais j'ai eu un élément de menu qui ouvrirait une fenêtre de dialogue qui ne fonctionne plus en raison du thème ne s'étend pas de l'appelcompat, y a-t-il un moyen de contourner cela?



7
votes

Voici un bon moyen:

Dans votre fichier de mise en page: Activity_Main.xml xxx

maintenant pour votre activité: > xxx

bonne chance!


2 commentaires

Je ne pense pas que MyAdapter = nouvelle liste de liste (getApplicationContextextext ()); Fonctionne parce que vous ne pouvez pas instancier la classe Abstract ListAdapter.


En fait, ListAdapter est une classe personnalisée qui implémenteaseadapter. Voici la signature "Classe publique ListAdapter Extend BaseAdapter" afin que vous puissiez créer un objet à partir de la classe ListAdapter et cet objet a les fonctionnalités de BaseArdapter + vos méthodes personnalisées