JavascriptProva

mercoledì 22 febbraio 2017

Estrazione a sorte di diverse ImageView mediante un ArrayList

Ho risolto il problema delle tre immagini.
Ecco il codice:
public class MainActivity extends AppCompatActivity {

    ImageView image1,image2,image3;
    View.OnTouchListener onTouchListener;


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

        image1=(ImageView)findViewById(R.id.imageView);
        image2=(ImageView)findViewById(R.id.imageView2);
        image3=(ImageView)findViewById(R.id.imageView3);
        image1.setImageResource(R.drawable.android);
        image1.setTag("omino");

        image2.setImageResource(R.drawable.cattivik);
        image2.setTag("cattivik");

        image3.setImageResource(R.drawable.facciadicazzo);
        image3.setTag("pupuccio");

        lista.add(image1);
        lista.add(image2);
        lista.add(image3);

        Random random=new Random();
        int numero=random.nextInt(3);
        final ImageView estratta=lista.get(numero);
        System.out.println(estratta.getTag());

       onTouchListener =new View.OnTouchListener() {

           @Override
           public boolean onTouch(View v, MotionEvent event) {
               if(v==estratta){
                   System.out.println("ESATTA");
               }
               else{
                   System.out.println("FALSA");
               }
               return false;
           }
       };
        image3.setOnTouchListener(onTouchListener);
        image1.setOnTouchListener(onTouchListener);
        image2.setOnTouchListener(onTouchListener);


    }
}
Parto da tre ImageView che caricano immagini prese, in questo caso, dalle risorse (ma che nel programma definitivo andranno prese dal database), e le inserisco in un ArrayList di ImageViews.
La didascalia è compresa nel loro Tag.
Estraggo a sorte l'indice della ArrayList, e identifico con la variabile "estratta" di tipo ImageView la ImageView corrispondente all'indice estratto a sorte.
Quindi accomuno il listener onTouchListener alle tre ImageView, e se la sorgente dell'evento è quella estratta ottengo un comportamento, mentre se non lo è ottengo un altro comportamento.

Nessun commento:

Posta un commento