Visualizzazione stampabile
-
Uso del thread
Buon pomeriggio ragazzi, sto creando un piccola applicazione che attraverso il codice java, mi cambia l'immagine di background di una activity, ogni tot tempo. Ma c'è un problema, appena provo ad avviare l'applicazione, ho schermata nera anche se il codice da me implementato funziona perché vedo riscontro nella console. Sapete dirmi cosa posso fare per risolvere? Grazie mille
-
dovresti mettere un po di codice cosi come lo hai descritto e un po vago
-
Quote:
Originariamente inviato da
zorcraft
dovresti mettere un po di codice cosi come lo hai descritto e un po vago
Hai ragione, eccovi:
codice:
handler = new MyHandler();
new Thread(){
public void run(){
while (running) {
for(int j = 0; j<players.length;j++) {
txtName.setText(players[j].GetNome());
if(ControllaArti(players[j])) {
precnumber = number;
while(number == precnumber)
number = (int) (Math.random()*4);
s+=arti[number];
}
else {
String artolibero = CercaArtiLiberi(players[j]);
number = TrovaArto(artolibero,arti);
s += arti[number];
}
//Abbiamo Preso il nome dell'arto scelto
preccolours = numbercolours;
while(numbercolours == preccolours)
numbercolours = (int) (Math.random()*4);
s+=colori[numbercolours];
//Abbiamo preso il colore scelto
riferimentoImg = manager.getImg(s);
//layout.setBackgroundResource(riferimentoImg);
Message msg = handler.obtainMessage();
Bundle b = new Bundle();
b.putString("key", "cambia lo sfondo");
msg.setData(b);
handler.sendMessage(msg);
System.out.println(" "+s+" ");
try {
Thread.sleep(GameActivity.WAIT_NEXT_CHOOSE);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
s = "";
}
}
}
}.start();
}
codice:
private class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
image.setBackgroundResource(riferimentoImg);
}
}
-
Quote:
Originariamente inviato da
giupardeb
codice:
private class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
image.setBackgroundResource(riferimentoImg);
}
}
se hai preso riferimentoImg tramite la funzione getIdentifier() prova cosi:
rivate class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
image.setImageResource(riferimentoImg);
}
}
Nik