close


package ecodesign.alertdialog;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class MainActivity extends Activity {
private ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// 彈出要給ProgressDialog
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("提示信息");
progressDialog.setMessage("登入中,請稍後......");
// 設置setCancelable(false); 表示我們不能取消這個彈出框,等下載完成之後再讓彈出框消失
progressDialog.setCancelable(false);
// 設置ProgressDialog樣式為圓圈的形式
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

Button bt_login = (Button)findViewById(R.id.login_btn);  //取得登入button
bt_login.setOnClickListener(login);

}


private Button.OnClickListener login = new Button.OnClickListener(){
@Override
public void onClick(View v) {
new login_AsyncTask().execute("Test");
}
};

/*
* Params: String類型
* Progress: Integer類型
* Result:String類型
*/
public class login_AsyncTask extends AsyncTask<String, Integer, String>
{
@Override
protected void onPreExecute()
{
super.onPreExecute();
// 在onPreExecute()中我們讓ProgressDialog顯示出來
progressDialog.show();
}
@Override
protected String doInBackground(String... params)
{

int progress =0;
while(progress<=100){
try {
Thread.sleep(50); //模式檔案傳輸0.05秒
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
publishProgress(Integer.valueOf(progress));
progress++;
}
return "ok";

}
@Override
protected void onProgressUpdate(Integer... values)
{
super.onProgressUpdate(values);
}

protected void onPostExecute(String result)
{
super.onPostExecute(result);
if(result.equals("ok")){
progressDialog.dismiss();
}
}
}

}

arrow
arrow
    全站熱搜

    stockwfj3 發表在 痞客邦 留言(0) 人氣()