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