【发布时间】:2013-11-30 13:02:50
【问题描述】:
我有 2 个activities,1 个用于main,其他用于自定义progressBar dialog,我想从主activity 按钮click 开始这个自定义progressBar activity 作为dialog,当它开始时没关系,但我需要不断更新progressBar 值,因为它会发生变化......我试图在progressBar 中创建一些方法activity 还尝试以progressBar 的方式访问progressBar 对象@ 方式但在这两种情况下,它都会抛出 NULL POINTER 的 exception。目前我正在开始活动
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);
}
}
【问题讨论】:
标签: android android-activity progress-bar