Frage

Ich habe ein Problem, wie man Text im ProgressDialog ändert (im Grunde genommen style_horizontal wie in Abbildung) (mit Android 1.6)

enter image description here

zum in Abbildung gezeigten Text.

enter image description here

Bitte helfen Sie in diesem Fall. Mein Code über den ProgressDialog bezieht sich so:-

 mProgressDialog = new ProgressDialog(PDFActivity.this);

  mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

  mProgressDialog.setTitle(R.string.msgDownloadingWait);
  mProgressDialog.setMessage(getResources().getString(
    R.string.msgDownloading));

  // User is not allowed to cancel the download operation.
  mProgressDialog.setCancelable(false);

  mProgressDialog.setMax(serverFileCount);

  mProgressDialog.show(); 

Danke im Voraus.

War es hilfreich?

Lösung

Ich habe die Antwort in Bezug auf dieses Zeug vor einigen Tagen erhalten (aber heute als Freizeit aktualisiert).

Hier der Code, den ich verwendet habe, um dieses Zeug am besten zu machen.

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class ProgressThread extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        MyDialog dialog = new MyDialog(this);
        dialog.show();
    }
}

Jetzt bezieht sich der Code mit dem benutzerdefinierten Dialogfeld. Hier habe ich verwendet ProgressBar & TextViews In CustomDialog und Berechnungen beim Download erstellt, die wiederum TextViews.Die hier verwendete Beispiel aktualisiert, aktualisiert die TextViews & ProgressBar in Dummy.

import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MyDialog extends Dialog {
    public static final int STATUS_UPDATE = 101;
    public static final int STATUS_COMPLETE = 100;
    ProgressBar progressBar;
    TextView textView;
    TextView percent;
    int increment;
    int progress;

    public MyDialog(Context context) {
        super(context);
        setContentView(R.layout.progressbar);

        setDialog();
    }

    private void setDialog() {
        setTitle("Downloading Files....");
        textView = (TextView) findViewById(R.id.textProgress);
        progressBar = (ProgressBar) findViewById(R.id.progress_horizontal);
        percent = (TextView) findViewById(R.id.textPercentage);

        percent.setTextColor(Color.WHITE);
        textView.setTextColor(Color.WHITE);

        progressBar.setProgressDrawable(getContext().getResources()
                .getDrawable(R.drawable.my_progress));
        progressBar.setIndeterminate(false);

        // set the maximum value
        progressBar.setMax(1315);

        launcherThread();

    }

    private void launcherThread() {

        LoaderThread loaderThread = new LoaderThread();
        loaderThread.start();

        LauncherThread launcherThread = new LauncherThread();
        launcherThread.start();

    }

    private class LoaderThread extends Thread {
        @Override
        public void run() {
            try {
                while (progressBar.getProgress() < progressBar.getMax()) {
                    // wait 500ms between each update
                    Thread.sleep(100);
                    increment++;
                    // active the update handler
                    progressHandler.sendEmptyMessage(STATUS_UPDATE);
                }
                progressHandler.sendEmptyMessage(STATUS_COMPLETE);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    // handler for the background updating
    Handler progressHandler = new Handler() {
        public void handleMessage(Message msg) {

            switch (msg.what) {

            case STATUS_UPDATE:
                progressBar.setProgress(increment);
                float value = increment / 1315F;
                percent.setText(" " + ((int) (value * 100)) + "%");
                System.out.println(value * 100);
                textView.setText(String.valueOf(progressBar.getProgress())
                        .concat(" / " + progressBar.getMax()));
                break;

            case STATUS_COMPLETE:
                dismiss();
            }
        }
    };

    private class LauncherThread extends Thread {
        @Override
        public void run() {
            progressHandler.sendMessage(progressHandler.obtainMessage());
            progressHandler.sendEmptyMessage(0);
        }
    }
} 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top