📜  进度条设置 - 无论代码示例

📅  最后修改于: 2022-03-11 14:57:56.002000             🧑  作者: Mango

代码示例1
import android.app.Activity;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ProgressBar;
    import android.widget.TextView;

    public class MainActivity extends Activity {

        Button btn;
        private ProgressBar progressBar;
        TextView txt;
        Integer count =1;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_activity);

            progressBar = (ProgressBar) findViewById(R.id.progressBar);
            progressBar.setMax(100);
            btn = (Button) findViewById(R.id.btn);
            btn.setText("Start");
            txt = (TextView) findViewById(R.id.output);

            btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                    count =1;
                    progressBar.setVisibility(View.VISIBLE);
                    progressBar.setProgress(0);

                    new MyTask().execute(100);

        });
        }
        class MyTask extends AsyncTask {
            @Override
            protected String doInBackground(Integer... params) {
                for (count=1 ; count <= params[0]; count++) {
                    try {
                        Thread.sleep(1000);
                        publishProgress(count);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                return "Task Completed.";
            }
            @Override
            protected void onPostExecute(String result) {
                progressBar.setVisibility(View.GONE);
                    txt.setText(result);
                    btn.setText("Restart");
            }
            @Override
            protected void onPreExecute() {
                txt.setText("Task Starting...");
            }
            @Override
            protected void onProgressUpdate(Integer... values) {
                txt.setText("Running..."+ values[0]);
                progressBar.setProgress(values[0]);
            }
        }
    }