Quello che voglio è passare una variabile int
al mio AsyncTask
.Come posso passare un int primitivo al mio AsyncTask?
int position = 5;
E ho dichiarato il mio AsyncTask in questo modo:
class proveAsync extends AsyncTask<int, Integer, Void> {
protected void onPreExecute(){
}
protected Void doInBackground(int... position) {
}
.
.
.
Ma ho avuto un errore che è il seguente:
Tipo argomento non può essere di tipo primitivo
Ho appena potuto passare un int[]
e Integer
va VARIABILI ma mai una variabile int
ed eseguo il mio AsyncTask
in questo modo:
new proveAsync().execute(position);
C'è qualcosa che potrei fare per passare solo questo position
?
Grazie in anticipo!
Perché si deve fare riferimento alla posizione come se è un array? 'position [0]' –
perché '...' significa che può prendere qualsiasi numero di parametri e vengono passati come una matrice. Se passi solo un parametro ottieni il primo valore. – Rohit5k2
Perché '...' indica che si tratta di un array. Significa che la funzione di chiamata (in questo caso, il filtraggio verso il basso per l'esecuzione (...)) può avere uno o più numeri interi assegnati. Si potrebbe avere '.execute (1);' o '.execute (1, 2, 3)' o '.execute (intArray)' – Knossos