Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Convertir un String en Class pour Intent

Sujet résolu
    13 juin 2012 à 15:30:25

    Bonjour,

    J'utilise une classe pour mon menu, afin que chaque item d'une ListView démarre une nouvelle activité.

    Les titres de mes items sont stockés dans le tableau mes_titres ainsi que le nom de mes activités dans le tableau mes_activites. Chaque titre correspondant à une activité en fonction de la position dans le onItemClick. J'ai essayé la méthode ci-dessous pour lancer mon activité mais cela ne marche pas. Auriez-vous un autre moyen ? Merci.

    package com.applicazione;
    
    import android.content.Context;
    import android.content.Intent;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    
    /**
     * Utility methods for Views.
     */
    public class ViewUtils {
    	
    	
    	static String[] mes_titres = {"Actualité"}; 
    	static String[] mes_activite = {"ActualiteActivity"};
        private ViewUtils() {}
           
    
        public static void initListView(Context context, ListView listView, int layout) {
         
        	listView.setAdapter(new ArrayAdapter<String>(context, layout, mes_titres));
            listView.setOnItemClickListener(new OnItemClickListener() {
    
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                   
                	Context context = view.getContext();
                    Intent intent = new Intent();
                    intent.setClassName("com.applicazione","com.applicazione"+mes_activite[position]);
                    context.startActivity(intent);
    
                }
            });
        }
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      13 juin 2012 à 16:23:13

      Bonjour,

      Pourquoi une Activity par titre? Si tu as 10000 titres, tu auras 10000 Activity déclarées dans ton Manifest?

      Ce que tu veux faire ce n'est pas plutôt une Activity avec ta ListView et une deuxième pour afficher les détails de l'actualité sur laquelle on a cliqué?
      • Partager sur Facebook
      • Partager sur Twitter
        13 juin 2012 à 16:27:58

        Le sujet est résolu , j'avais oublier un ".".


        Je n'aurait que 5 items à mon menu donc sa pose pas de soucis
        • Partager sur Facebook
        • Partager sur Twitter
          13 juin 2012 à 16:36:31

          Ça n'enlève pas le fait que ce n'est pas propre du tout.

          Un simple Adapter un peu personnalisé + un ViewHolder, le tout couplé à une ArrayList et le tour est joué.

          Il faut prendre de bonnes habitudes, même avec des cas simples. :)

          Sur ce, bon développement !
          • Partager sur Facebook
          • Partager sur Twitter

          [Android] Convertir un String en Class pour Intent

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown