当前位置: 代码迷 >> Android >> 两个activity 跳转当中用进度条。android
  详细解决方案

两个activity 跳转当中用进度条。android

热度:62   发布时间:2016-04-28 07:34:40.0
两个activity 跳转中间用进度条。android
两个activity 前一个按扭点击事件执行查询,数据量比较大,所以跳转等待时间比较长,固想用进度条显示程序运行中...该如何实现?

------解决方案--------------------
应该能看懂吧 


package com.zyq.main;

import java.util.ArrayList;

import android.app.Activity;
import android.app.Dialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Toast;
public class ListProgressDemo extends ListActivity {
    private ArrayAdapter<String> adapter; 
    private ArrayList<String> data; 
 
    private static final int PROGRESS_DIALOG = 1; 
    private static final int STATE_FINISH = 1; 
    private static final int STATE_ERROR = -1; 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
 
        ((Button) findViewById(R.id.load_Handler)).setOnClickListener(new View.OnClickListener(){ 
 
            @Override 
            public void onClick(View view) { 
                data = null; 
                data = new ArrayList<String>(); 
 
                adapter = null; 
 
                showDialog(PROGRESS_DIALOG); 
                new ProgressThread(handler, data).start();
            } 
        }); 
    }
 
    @Override 
    protected Dialog onCreateDialog(int id) { 
        switch(id) { 
        case PROGRESS_DIALOG: 
                 return ProgressDialog.show(this, "",  
                   "Loading. Please wait...", true); 
 
        default: return null; 
        } 
    } 
 
    private class ProgressThread extends Thread { 
 
        private Handler handler; 
        private ArrayList<String> data; 
 
        public ProgressThread(Handler handler, ArrayList<String> data) { 
            this.handler = handler; 
            this.data = data; 
        } 
 
        @Override 
        public void run() { 
            for (int i=0; i<8; i++) { 
                data.add("ListItem"); //后台数据处理
                try { 
                    Thread.sleep(100); 
                }catch(InterruptedException e) { 
                     
  相关解决方案