Creare un nuovo progetto android chiamato HelloAsyncTask L'activity principale estende una ListActivity public class HelloAsyncTaskActivity extends ListActivity { ... } e contiene solo un ArrayAdapter e un elenco di stringhe da caricare private static String[] items = { "lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "morbi", "vel", "ligula", "vitae", "arcu", "aliquet", "mollis", "etiam", "vel", "erat", "placerat", "ante", "porttitor", "sodales", "pellentesque", "augue", "purus" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter( new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, new ArrayList<String>() ) ); new AddStringTask().execute(); } La classe AddStringTask che viene lanciata alla fine dell'activity class AddStringTask extends AsyncTask<Void, String, Void> { @Override protected Void doInBackground(Void... unused) { for (String item : items) { publishProgress(item); SystemClock.sleep(200); } return (null); } @SuppressWarnings("unchecked") @Override protected void onProgressUpdate(String... item) { ((ArrayAdapter<String>) getListAdapter()).add(item[0]); } @Override protected void onPostExecute(Void unused) { Toast.makeText(HelloAsyncTaskActivity.this, "Done!", Toast.LENGTH_SHORT).show(); } }
|
|||||||||


