Partage
  • Partager sur Facebook
  • Partager sur Twitter

Java android ListView avec noms de dossiers

Sujet résolu
    21 juin 2020 à 22:26:34

    Bonjour tout le monde, j'aurais besoin de faire une liste de noms de dossiers j'ai donc repris ce code la ou j'aimerais changer le nom de ces personnes et leurs numéro par le nom de mes dossier mais je n'y arrive pas comment puis je faire ? J'aimerais aussi savoir comment changer la couleur de l'écriture dans un ListView.

    ListView vue;
    
    vue = (ListView) findViewById(R.id.listview);
            
            String[][] repertoire = new String[][]{
                    {"Bill Gates", "06 06 06 06 06"},
                    {"Niels Bohr", "05 05 05 05 05"},
                    {"Alexandre III de Macédoine", "04 04 04 04 04"}};
            
            List<HashMap<String, String>> liste = new ArrayList<HashMap<String, String>>();
    
            HashMap<String, String> element;
            
            for(int i = 0 ; i < repertoire.length ; i++) {
                
                element = new HashMap<String, String>();
                
                element.put("text1", repertoire[i][0]);
                
                element.put("text2", repertoire[i][1]);
                liste.add(element);
            }
    
            ListAdapter adapter = new SimpleAdapter(this,
                    
                    liste,
                    
                    android.R.layout.simple_list_item_2,
                    
                    new String[] {"text1", "text2"},
                    new int[] {android.R.id.text1, android.R.id.text2 });
            vue.setAdapter(adapter);

    je reprend pour l'instant les dossiers comme ceci et je les affiche dans un TextView mais le TextView ne me permet pas de cliquer sur le nom du dossier que je souhaite.

            if (files != null){
                for (File value : files) {
                    if (value.isDirectory()) {
                        repertoire += value.getName() + "\n";
                    } else {
                        repertoire += value.getName() + "\n";
                    }
                }
    
                TextView a = findViewById(R.id.Text);
                a.setText(repertoire);
    
            } else{
                TextView a = findViewById(R.id.Text);
                a.setText("Vous n'avez pas encore de fichiers.");
            }

    Merci d'avance, au revoir

    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2020 à 16:27:34

      essaie la ligne suivante dans le dossier xml de ton adapter 

      android:textColor="@android:color/black"

      pour le click j'ai : (toujours dans l'adapter)

      public interface OnItemClickListener {
      void onItemClick(int position);
      }
          mButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      if (listener != null) {
      int position = getAdapterPosition();
      if (position != RecyclerView.NO_POSITION) {
      listener.onItemClick(position);
      }
      }
      }
      });

      //il faut allor dans l'activity 
      mButton.setOnItemClickListener(new CarAdapter.OnItemClickListener() {
      @Override
      public void onItemClick(int position) {
      //que faire lorsque l'on clique sur un bouton
      }
      • Partager sur Facebook
      • Partager sur Twitter
        24 juin 2020 à 21:04:07

        J'ai enfaite réussi en faisant comme ceci :

        File file = new File(Environment.getExternalStorageDirectory() + File.separator + "AppListe");
                File[] files = file.listFiles();
        
                if (files != null) {
                    listView = findViewById(R.id.listview);
        
                    ArrayList<String> arrayList = new ArrayList<>();
        
                    for (File value : files) {
                        arrayList.add(value.getName());
                    }
                    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, R.layout.row, arrayList);
        
                    listView.setAdapter(arrayAdapter);

        Le fichier row est pour la couleur l'emplacement est pour la taille du texte en xml que j'ai rempli comme ceci :

        <?xml version="1.0" encoding="utf-8"?>
        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/text8"
            android:textSize="20sp"
            android:gravity="center"
            android:padding="15dp"
            android:textColor="?attr/textcolor"/>



        • Partager sur Facebook
        • Partager sur Twitter

        Java android ListView avec noms de dossiers

        × 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