2017-07-14 2 views
0

Je souhaite afficher les numéros de boucle for sur la liste, mais cela ne fonctionne pas. App's LayoutComment afficher l'entier dans listview?

public class MainActivity extends AppCompatActivity { 

    private ListView marksixlist; 
    private Button mRandombtn, mCleanbtn; 
    private TextView mText; 
    private ArrayList<Integer> marksixnum = new ArrayList<Integer>(); 
    private ArrayAdapter arrayAdapter; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     marksixlist = (ListView) findViewById(R.id.listview1); 

     mRandombtn = (Button) findViewById(R.id.randombtn); 
     mCleanbtn = (Button) findViewById(R.id.cleanbtn); 
     mText = (TextView) findViewById(R.id.items); 

     mRandombtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       for (int j = 1; j <= 6; j++) { 
        int random = (int) (Math.random()* 49+1); 
         marksixnum.add(random); 
         Collections.shuffle(marksixnum); 
       } 
      } 
     }); 

     arrayAdapter = new ArrayAdapter<Integer>(this, R.layout.listitempage, marksixnum); 
     marksixlist.setAdapter(arrayAdapter); 
     Log.d("aaa", "The markssix is - " + marksixnum); 
    } 
} 
+0

Salut Lucas, s'il vous plaît vérifier ma solution. Veuillez accepter la réponse ou voter si c'est acceptable. – JRG

+0

s'il vous plaît accepter la réponse et voter si ma solution a résolu votre problème! – JRG

Répondre

0

Une fois que vous générer des nombres aléatoires et les Mélangez ensuite à la fin de boucle ajouter le arrayAdapter à nouveau le listview marksixlist et il fonctionne comme un charme.

J'ai également effacé le ArrayList marksixnum avant de générer des nombres aléatoires afin que votre liste ne continue pas à croître.

Son option, si vous avez besoin derniers éléments de clic puis supprimer marksixnum.clear()

mRandombtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // Do this if you do not want 
     // numbers from last click 
     marksixnum.clear(); 
     for (int j = 1; j <= 6; j++) { 
      int random = (int) (Math.random()* 49+1); 
      marksixnum.add(random); 
      Collections.shuffle(marksixnum); 
     } 
     // add arrayAdapter to listview 
     marksixlist.setAdapter(arrayAdapter); 
    } 
});