0
我实现了一个进度条,下载两个文件,进度条如下进度条随着不同的讯息,不同的文件
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case progress_bar_type: // we set this to 0
pDialog = new ProgressDialog(this);
if (x.equals("xP"))
{
pDialog.setMessage("Downloading file. Please wait...");
}
if (x.equals("xV"))
{
pDialog.setMessage("Updating file. Please wait...");
}
pDialog.setIndeterminate(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setCancelable(true);
pDialog.show();
return pDialog;
default:
return null;
}
}
我想显示不同的按摩每两个文件(下载和更新)。
- 我按下一个按钮
- 它调用类A(X = XP),这将下载该文件(消息是Downlaoding)
- A类然后调用类B(X = XV),这将下载的第二文件(消息被更新)
- 然而,当进度启动
- 如果我在的onClick按钮组x,则x将保持在整个按钮事件相同的值即使该事件具有限定X启动两个类X不为公知的在他们和因此消息将永远下载这两个文件。希望这是有道理的。
我注意到,进度条在单个实例中为每个文件运行两次,这很好,但它只被调用一次而不是两次,我已经放出一个系统输出,显示该调用仅被调用一次,但运行两次,这就是为什么我挣扎,它不会为每个文件再次启动。 – TwoStarII
检查进度条的实例,如果它不为空,并且isShowing()为true,则只更新其消息,否则创建一个新实例。 –
谢谢,我在if和else语句中使用了isShowing(),但由于某种原因,它在else(not if)语句中更新,但是这对我有用:如果(pDialog.isShowing()){ }通过out.println( “显示:”); //这是错的吗? } else \t { \t System.out.println(“NOT SHOWING:”); \t pDialog.setMessage(“正在更新文件,请稍候...”); \t} – TwoStarII