Visualizzazione 'tardiva' dell'immagine passata.

Tommaso Dariozzi

Nuovo Utente
22 Apr 2015
6
0
0
Buongiorno a tutti, scusate per il pessimo titolo, ma non sapevo come descrivere in poche parole il problema.
Prima di esporvi il problema vi dico quale è la mia idea: vorrei che dato una posizione random del mio array, che corrisponde ad una foto ,e che in un altro array corrisponde al titolo della foto, la facesse apparire a schermo. Dopo di che, una volta scritto il testo nell'Edit Text e premuto il pulsante, questo dovrebbe controllare che la foto sia giusta e ne mettesse un altra a ruota fino a che non siano finite le foto da mettere.

Codice:
public class Main extends Activity {
    int[] foto = {R.drawable.coin,R.drawable.logo};
    String[] titolo = {"Moneta", "Logo"};
    int[] foto_indovinate = new int[2];
    String[] titolo_indovinato = new String[2];
    Random random = new Random();
    int x = 0, y = 0;
    boolean flg_chk = true;


    final Bundle bdl = new Bundle();

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


        final ImageView img = (ImageView) findViewById(R.id.Foto);
        final Button btn_invio = (Button) findViewById(R.id.btn_Invio);
        final EditText txt = (EditText) findViewById(R.id.editText1);

        for(int j = 0; j < 3; j ++) {
            x = random.nextInt(foto.length); // Assegno un valore random alla variabile
            for (int k = 0; k < foto_indovinate.length; k++) { /* Controllo che all'interno dell'array di appoggio non sia presente una foto con lo stesso id*/
                if (foto_indovinate[k] != foto[x]) {
                    flg_chk = true;
                } else {
                    flg_chk = false;
                }
            }

            if (flg_chk == true) {  // Se non esiste l'id all'interno dell'array di appoggio...
                Bitmap d = BitmapFactory.decodeResource(getApplicationContext().getResources(), foto[x]);
                img.setImageBitmap(d); // Metto la foto
            }
            btn_invio.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) { // Al tocco sul bottone
                    if (txt.getText().toString().equals(titolo[x])) { // Se il titolo è giusto

                        Toast.makeText(Main.this, "Complimenti!", Toast.LENGTH_LONG).show();
                        foto_indovinate[y] = foto[x]; // Copio l'id della foto indovinata nell'array di appoggio...
                        titolo_indovinato[y] = titolo[x]; // ...e anche il titolo
                        y++; // Aumento il contatore per gli array di appoggio
                    } else { // Se il titolo  è sbagliato
                        txt.setText(""); // Cancello il testo scritto
                        Toast.makeText(Main.this, "Canzone sbagliata", Toast.LENGTH_LONG).show();

                    }
                }
            });

            x = 0; // Metto a 0 la variabile random
        }
    }


Ecco che arriva il problema: Non capisco perchè una volta eseguite le istruzioni di ricerca di eventuali doppioni sull'altro array e ' settata' i'immagine, non mi compare subito a schermo ma mi passa direttamente sotto all' listener del bottone, chiaramente uscendo subito, perchè non è stato premuto nessun bottone.

Come posso fare? Spero di essere stato chiaro nella spiegazione.
 

michelep

Utente Attivo
21 Nov 2013
123
4
0
www.michelepierri.it
Buongiorno a tutti, scusate per il pessimo titolo, ma non sapevo come descrivere in poche parole il problema.
Prima di esporvi il problema vi dico quale è la mia idea: vorrei che dato una posizione random del mio array, che corrisponde ad una foto ,e che in un altro array corrisponde al titolo della foto, la facesse apparire a schermo. Dopo di che, una volta scritto il testo nell'Edit Text e premuto il pulsante, questo dovrebbe controllare che la foto sia giusta e ne mettesse un altra a ruota fino a che non siano finite le foto da mettere.

Codice:
public class Main extends Activity {
    int[] foto = {R.drawable.coin,R.drawable.logo};
    String[] titolo = {"Moneta", "Logo"};
    int[] foto_indovinate = new int[2];
    String[] titolo_indovinato = new String[2];
    Random random = new Random();
    int x = 0, y = 0;
    boolean flg_chk = true;


    final Bundle bdl = new Bundle();

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


        final ImageView img = (ImageView) findViewById(R.id.Foto);
        final Button btn_invio = (Button) findViewById(R.id.btn_Invio);
        final EditText txt = (EditText) findViewById(R.id.editText1);

        for(int j = 0; j < 3; j ++) {
            x = random.nextInt(foto.length); // Assegno un valore random alla variabile
            for (int k = 0; k < foto_indovinate.length; k++) { /* Controllo che all'interno dell'array di appoggio non sia presente una foto con lo stesso id*/
                if (foto_indovinate[k] != foto[x]) {
                    flg_chk = true;
                } else {
                    flg_chk = false;
                }
            }

            if (flg_chk == true) {  // Se non esiste l'id all'interno dell'array di appoggio...
                Bitmap d = BitmapFactory.decodeResource(getApplicationContext().getResources(), foto[x]);
                img.setImageBitmap(d); // Metto la foto
            }
            btn_invio.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) { // Al tocco sul bottone
                    if (txt.getText().toString().equals(titolo[x])) { // Se il titolo è giusto

                        Toast.makeText(Main.this, "Complimenti!", Toast.LENGTH_LONG).show();
                        foto_indovinate[y] = foto[x]; // Copio l'id della foto indovinata nell'array di appoggio...
                        titolo_indovinato[y] = titolo[x]; // ...e anche il titolo
                        y++; // Aumento il contatore per gli array di appoggio
                    } else { // Se il titolo  è sbagliato
                        txt.setText(""); // Cancello il testo scritto
                        Toast.makeText(Main.this, "Canzone sbagliata", Toast.LENGTH_LONG).show();

                    }
                }
            });

            x = 0; // Metto a 0 la variabile random
        }
    }


Ecco che arriva il problema: Non capisco perchè una volta eseguite le istruzioni di ricerca di eventuali doppioni sull'altro array e ' settata' i'immagine, non mi compare subito a schermo ma mi passa direttamente sotto all' listener del bottone, chiaramente uscendo subito, perchè non è stato premuto nessun bottone.

Come posso fare? Spero di essere stato chiaro nella spiegazione.

onestamente non ho ben capito....se spieghi meglio posso provare ad aiutarti
 
Discussioni simili
Autore Titolo Forum Risposte Data
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
A Visualizzazione due tabelle PHP 1
F Problemi visualizzazione mappa Android studio Sviluppo app per Android 0
M Visualizzazione a video risultati query php PHP 0
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
D Visualizzazione pagina basata sul valore di un campo del database PHP 2
F Visualizzazione motore di ricerca SEO e Posizionamento 2
T cms con visualizzazione mind map CMS (Content Management System) 0
B margini e padding nella visualizzazione mobile HTML e CSS 6
A Errore visualizzazione selezione testo Photoshop 0
R Visualizzazione barra superiore Google Search Console 0
Beppe2 Visualizzazione sottotitoli video HTML e CSS 2
F Problemi di visualizzazione di un sito su più browser WordPress 0
S Problemi di visualizzazione form contatti sito web HTML e CSS 2
L risolto visualizzazione e ordinamento dati PHP 1
Y Problema visualizzazione PDF generato da fpdf PHP 1
gandalf1959 Youtube e possibilità di visualizzazione delle playlist HTML e CSS 0
P Cambiare visualizzazione con JS Javascript 1
L Mancata visualizzazione di icone su button PHP 0
F [PHP] Visualizzazione video PHP 3
R Visualizzazione tabella Mysql MySQL 0
R anomalia nella visualizzazione tabella mysql MySQL 1
R [PHP] Visualizzazione dati Array PHP 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Giacomo Boccherini Impedire la visualizzazione portrait per alcune mediaqueries jQuery 1
gandalf1959 Estrazione e visualizzazione del simbolo dell'euro php/mysqli PHP 0
M Problema visualizzazione colori in photoshop Photoshop 0
Spown [WordPress] Problemi visualizzazione su più browser + voci menu in movimento WordPress 1
R Visualizzazione elementi Access MS Access 2
D [Photoshop] Visualizzazione a Monitor tasti ALT e CTRL Photoshop 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
M [HTML] Problema visualizzazione immagini su dispositivi HTML e CSS 4
B Visualizzazione interfaccia grafica photoshop cs 5 Photoshop 1
Z [HTML] aiuto per visualizzazione su tablet Offerte e Richieste di Lavoro e/o Collaborazione 6
G [PHP] Visualizzazione errata immagini PHP 3
Antonio Nervi [Javascript] Problema visualizzazione banner accettazione cookies Javascript 6
A Problema visualizzazione photoshop elements 9 Photoshop 1
G [Photoshop][Joomla] Errore visualizzazione immagine Photoshop 1
O Visualizzazione singolo contenuto con php PHP 7
M [Javascript] Visualizzazione mappa Javascript 1
elpirata [PHP] Evitare la visualizzazione del carattere di nuova linea \r\n PHP 5
A WAMP visualizzazione sito in locale Web Server 3
A [Javascript] Problema visualizzazione posizione corrente su mappa Javascript 2
A [PHP] Visualizzazione righe (a capo) file .txt PHP 2
A [PHP] Problema visualizzazione nome utente loggato su sito ecommerce PHP 23
E php Mysql visualizzazione file *.php in tabella PHP 0
K [Joomla] Visualizzazione anteprima diversa dalla demo del template Joomla 0
G [Photoshop] Visualizzazione pixel reali Photoshop 4
M [WordPress] [HTML] Form inserimento campi e visualizzazione in tempo reale WordPress 3
MarcoGrazia [PHP] Upload e successiva visualizzazione immagini in DB PHP 3

Discussioni simili