1. 程式人生 > >android模式進度對話方塊(ProgressDialog)的呼叫方法

android模式進度對話方塊(ProgressDialog)的呼叫方法

public class MainActivity extends AppCompatActivity {     @BindView(R.id.button2)     Button button2;     @BindView(R.id.button1)     TextView button1;     private ProgressDialog _progressDialog;     @Override     protected void onCreate(Bundle savedInstanceState) {         super
.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);          ButterKnife.bind(this);     }     @OnClick({R.id.button1, R.id.button2})     public void onViewClicked(View view) {         switch (view.getId()) {             case R.id.button1:                 Toast.makeText
(MainActivity.
this, "---開始 ", Toast.LENGTH_LONG).show();                 _progressDialog = ProgressDialog.show(this, "Loading...", "正在處理...");                 //方法1                 new Thread(new Runnable() {//啟動執行緒處理其他事情                     @Override                     public void run() {                        
try {                             Thread.sleep(5000);                         } catch (InterruptedException e) {                             e.printStackTrace();                         }                         runOnUiThread(new Runnable() {//處理介面執行緒                             @Override                             public void run() {                                 if (_progressDialog != null) {                                     _progressDialog.cancel();                                 }                                 Toast.makeText(MainActivity.this, "---取消 ", Toast.LENGTH_LONG).show();                             }                         });                     }                 }).start();                 break;             case R.id.button2://                if (_progressDialog != null) {//這裡是無效的,因為它是模式對話方塊//                    _progressDialog.cancel(); //                }                 break;         }     }     //使用後退鍵退出     @Override     public boolean onKeyDown(int keyCode, KeyEvent event) {         // 截獲後退鍵         if (keyCode == KeyEvent.KEYCODE_BACK) {             if (_progressDialog != null) {                 _progressDialog.cancel();             }         }         return super.onKeyDown(keyCode, event);     } }