2017-05-04 1 views
0

J'ai une liste personnalisée avec des éléments sélectionnables. Et j'essaie de sélectionner tous les éléments automatiquement présents au-dessus de celui que j'ai sélectionné. Pour Ex: Supposons qu'il y ait 10 éléments dans la liste et que je sélectionne 5ème alors il faut sélectionner tous les éléments disponibles au-dessus de la 5ème. c'est-à-dire (1,2,3,4).Comment sélectionner automatiquement tous les éléments au-dessus de celui sélectionné

Comment puis-je faire cela? Quelqu'un s'il vous plaît aider.J'ai déjà perdu 1 jour dans ce.

public void onClick(View v) { 
    if (v == done) { 
     SparseBooleanArray checked = listView.getCheckedItemPositions(); 
     ArrayList<String> selectedItems = new ArrayList<String>(); 
     for (int i = 0; i < checked.size(); i++) { 
      // Item position in adapter 

      int position = checked.keyAt(i); 
      listView.setItemChecked(position, true); 
      // Add sport if it is checked i.e.) == TRUE! 

      if (checked.valueAt(i)) 
       selectedItems.add(adapter.getItem(position)); 
     } 

     String[] outputStrArr = new String[selectedItems.size()]; 

     for (int i = 0; i < selectedItems.size(); i++) { 
      outputStrArr[i] = selectedItems.get(i); 
     } 

     Intent intent = new Intent(getApplicationContext(), 
       MyBookings.class); 

     // Create a bundle object 
     Bundle b = new Bundle(); 
     b.putStringArray("selectedItems", outputStrArr); 

     // Add the bundle to the intent. 
     intent.putExtras(b); 

     // start the ResultActivity 
     startActivity(intent); 

    } 
} 
+0

double possible de [Programmatically sélectionnez ListView élément dans Android] (http: // stackoverflow. com/questions/10788688/programatically-select-item-listview-in-android) –

Répondre

1

Utilisez setOnItemClickListener sur votre ListView, puis boucle de 0 à la position adoptée dans la méthode et l'utilisation

listView.setItemChecked(index, true); 
+0

J'ai mis à jour ma question.Pouvez-vous s'il vous plaît montrer un extrait de code pour ce faire? @ Omar Aflak – Dev