[Android]_ch4.12_執行進度對話元件
package com.derek.ch15_progessdialog;
import android.R.integer;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
Button btn1;
TextView tv1;
Handler handler;
ProgressDialog pDialog;
int p=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.textView1);
btn1=(Button)findViewById(R.id.button1);
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(p>=100){
pDialog.dismiss();
tv1.setText("下載完成...");
}else{
p++;
pDialog.incrementProgressBy(2);
handler.sendEmptyMessageDelayed(0, 200);
tv1.setText("下載進度..."+pDialog.getProgress()+"%");
}
}};
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(0);
pDialog.setProgress(0);
handler.sendEmptyMessage(0);
p=0;
}
});
}
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
switch(id){
case 0:
pDialog=new ProgressDialog(MainActivity.this);
pDialog.setTitle("下載檔案");
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setButton(DialogInterface.BUTTON_POSITIVE,"隱藏", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "隱藏下載對話方塊", Toast.LENGTH_SHORT).show();
}
});
pDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "取消下載", Toast.LENGTH_SHORT).show();
}
});
return pDialog;
}
return super.onCreateDialog(id);
}
}
沒有留言:
張貼留言