Android 继续从其他活动更新自定义progressBar

Android 继续从其他活动更新自定义progressBar,android,android-activity,progress-bar,Android,Android Activity,Progress Bar,我有两个活动,一个用于main,另一个用于自定义progressBar对话框,我想启动此自定义progressBar活动作为按钮上的对话框单击主活动,当它开始时,它是正常的,但我需要不断更新progressBar值,因为它正在变化。。。我尝试在progressBar活动中创建一些方法也尝试以Static方式访问progressBar对象,但在这两种情况下,它都会抛出空指针的异常。目前,我开始的活动是 startActivity(new Intent(context, ProgressBar.cl

我有两个
活动
,一个用于
main
,另一个用于自定义
progressBar对话框
,我想启动此自定义
progressBar
活动作为按钮上的
对话框
单击主
活动
,当它开始时,它是正常的,但我需要不断更新
progressBar
值,因为它正在变化。。。我尝试在
progressBar
活动中创建一些方法
也尝试以
Static
方式访问
progressBar
对象,但在这两种情况下,它都会抛出空指针的
异常。目前,我开始的活动是

startActivity(new Intent(context, ProgressBar.class));
有什么帮助吗

主要活动

public class UnicornActivity extends Activity implements
    android.view.View.OnClickListener {

Button btnStart;

ProgressDialog prog = new ProgressDialog();

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

    btnStart = (Button) findViewById(R.id.btnStart);
    btnStart.setOnClickListener(this);
}

@Override
public void onClick(View arg0) {
            startActivity(new Intent(getApplicationContext(), ProgressDialog.class));
    ProgressDialog.setMax(1000);
    ProgressDialog.setMessage("it's gonna be fun");
    new Thread(new Runnable() {

        @Override
        public void run() {
            for (int i = 0; i < 1000; i++) {
                ProgressDialog.setProg(i);
            }
        }
    }).start();
}
}
public class ProgressDialog extends Activity{

static TextView to, till, message;
static ProgressBar progress;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    System.out.println("Inside activity");

    to = (TextView) findViewById(R.id.txtTo);
    till = (TextView) findViewById(R.id.txtTill);
    message = (TextView) findViewById(R.id.txtMessage);
    progress = (ProgressBar) findViewById(R.id.progress);
}

public static void setProg(int val) {  //NULL POINTER EXCEPTION
    to.setText(val + "");
    progress.setProgress(val);
}

public static void setMax(int val) {   //NULL POINTER EXCEPTION
    till.setText(val + "");
    progress.setMax(val);
}

public static void setMessage(String msg) {   //EXCEPTION
    message.setText(msg);
}
}

你有什么理由将ProgressDialog作为一项活动


创建一个扩展AsyncTask的类,使ProgressDialog成为成员,onProgressUpdate调用SetProgress。

这是否为我提供了所需的自定义外观?不相关,您仍然可以按任何方式创建ProgressDialog