2013-03-28 2 views
0

J'essaye de faire une sorte de base de données qui stocke des caractères des expositions de TV. Juste pour quelque chose à faire.Vous voulez changer une image à l'intérieur de la vue d'image sur le bouton cliquez sur

J'ai 6 images blanches simples sur une page de profil d'utilisateur sous quels seraient leurs favoris. Lorsqu'un utilisateur clique sur un bouton de la page de caractères, une vignette de l'image correspondante doit remplacer la première image.

Si la première vue d'image a déjà été modifiée, déplacez-la dans la 2ème et ainsi de suite jusqu'à ce que vous arriviez au 6ème. À ce moment-là, l'utilisateur recevrait un message disant qu'il ne pouvait plus en ajouter.

Des idées pour y parvenir?

Edit: Ce que j'ai jusqu'à présent

image.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 


     empty.setImageResource(R.drawable.pikachuthumb); 

     empty.remove(R.id.empty1); 

     if(empty.getCount()==0) 
     { 
      Toast.makeText(myContext, "No more favourites can be added. Please Refresh.", Toast.LENGTH_SHORT).show(); 
     } 
     else 
     { 

     } 

    } 

    public void main(String[] args) { 
     // TODO Auto-generated method stub 

     List<ImageView> empty = new ArrayList<ImageView>(); 

     empty.add(R.id.empty1); 
     empty.add(R.id.empty2); 
     empty.add(R.id.empty3); 
     empty.add(R.id.empty4); 
     empty.add(R.id.empty5); 
     empty.add(R.id.empty6); 

    } 
+0

Bienvenue à SO .. Tout le monde peut répondre à votre question, mais la chose est ce que vous avez essayé ..? – Pragnani

+0

Merci! Eh bien c'est la chose. Je suis un novice massif donc je ne sais pas trop par où commencer. Je suppose que vous pourriez faire une déclaration si la onclick ce serait dire quelque chose le long des lignes de « if (empty() = true) { imageview1.setImageResource (R.drawable.image1); } ' Vous ne savez pas exactement à quoi ressemblerait la fonction vide. Ni comment faire reconnaître si une image a déjà été remplie par autre chose. – Soggy

Répondre

0

Une façon simple est d'avoir une ArrayList de tous les ImageView s et appeler la méthode setImageResource() (ou toute autre méthode pour changer l'image), sur la très première vue (c'est-à-dire la vue sur 0th index), sur le clic du bouton. Suivant serait de supprimer l'imageview de la liste, une fois qu'il a été changé. Continuez à répéter le processus, sauf si toutes les images sont modifiées, puis l'arraylist sera vide, alors montrez un message toast ou un message amical à ce sujet.

+0

Évidemment, cela crée des erreurs mais suis-je sur la bonne voie? J'essaie toujours de savoir exactement comment faire ce que vous avez dit. Désolé pour le dérangement. Voir http://pastebin.com/FRZUZRJs – Soggy

Questions connexes