[:en]
Step 1: activity_main.xml
Step 2: MainActivity.java
package com.example.cambridge.asynctasklistview; import android.os.AsyncTask; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.ProgressBar; import java.util.ArrayList; public class MainActivity extends ActionBarActivity { ListView mainlist; private String[] texts = {"Honda","Yamaha","Apple","Honda","Yamaha","Apple","Honda","Yamaha","Apple","Honda","Yamaha","Apple"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Add ProgressBar. Must be before setContentView: Doesn't work //requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.activity_main); // Initialize listview mainlist = (ListView)findViewById(R.id.listView1); // Set Adapter & pass empty arraylist mainlist.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,new ArrayList ())); // Start MyTask new MyTask().execute(); } class MyTask extends AsyncTask { ArrayAdapter adapter; ProgressBar progressBar; int count; @Override protected void onPreExecute() { // Setup adapter adapter= (ArrayAdapter ) mainlist.getAdapter(); progressBar = (ProgressBar)findViewById(R.id.progress_bar); // Set parameters progressBar.setMax(9); progressBar.setProgress(0); progressBar.setVisibility(View.VISIBLE); count = 0; } @Override protected Void doInBackground(Void... params) { for(String item: texts){ // pass single item publishProgress(item); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } return null; } @Override protected void onProgressUpdate(String... values) { // add the first item adapter.add(values[0]); count++; progressBar.setProgress(count); } @Override protected void onPostExecute(Void aVoid) { progressBar.setVisibility(View.GONE); L.s(MainActivity.this,"All items were added successfully!"); } } }
Step 3: Toast
package com.example.cambridge.asynctasklistview; import android.content.Context; import android.util.Log; import android.widget.Toast; /** * Created by cambridge on 14/2/16. */ public class L { public static void m(String message){ Log.d("VIVZ", message); } public static void s(Context context,String message){ Toast.makeText(context,message,Toast.LENGTH_SHORT).show(); } }
[:]