【问题标题】:update custom progressBar from other activity continuesly不断从其他活动更新自定义进度条
【发布时间】: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


    【解决方案1】:

    您有任何理由将 ProgressDialog 作为活动?

    创建一个扩展 AsyncTask 的类,使进度对话框成为成员,onProgressUpdate 调用 SetProgress。

    【讨论】:

    • 这能给我一个我需要的自定义外观吗?
    • 不相关,您仍然可以随心所欲地制作 ProgressDialog
    猜你喜欢
    • 2017-12-23
    • 1970-01-01
    • 2021-08-30
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    相关资源
    最近更新 更多