ProgressBar无法加载
问题描述:
我正在为学校制作一款小型游戏,并且我想使用ProgressBar作为XP(体验)栏。ProgressBar无法加载
private static final int PROGRESS = 0x1;
private ProgressBar mProgress;
private Handler mHandler = new Handler();
private int mProgressStatus;
mProgress = (ProgressBar) findViewById(R.id.xpBar);
new Thread(new Runnable() {
public void run() {
int xp = Integer.parseInt(textViewXPValue.getText().toString());
int XPNEXT = Integer.parseInt(textViewXpNextLevel.getText().toString());
while (mProgressStatus < XPNEXT) {
mProgressStatus = xp;
mHandler.postDelayed(new Runnable() {
public void run() {
mProgress.setProgress(mProgressStatus);
}
}, 10);
}
}
}).start();
变量:
Integer.parseInt(textViewXpNextLevel.getText().toString());
等于水平,直至所需的最大XP。并且
Integer.parseInt(textViewXPValue.getText().toString());
等于当前玩家拥有的xp。
进度条显示并且没有发生错误。它只是不会显示进度。
任何想法?
答
while(....)行末尾有一个分号。 它不会让你的while块执行。 摆脱它,它会工作。
编辑:
您没有设置最大值:
mProgress = (ProgressBar) findViewById(R.id.progressbar);
mProgress.setMax(100);
这会让你的进度条,做工精细。
+0
确定这做一些事情发生。现在进度条只显示它已满。即使状态小于最大值 – 2013-02-13 06:55:27
答
嘿在同时的端部分号....移除N,然后尝试....
而(mProgressStatus < XPNEXT);
应该是同时(mProgressStatus < XPNEXT)
使用postDelayed岗位,而不是更新ProgressStatus – 2013-02-13 06:43:20
发布与postDelayed你的代码什么ü试图 – 2013-02-13 06:48:49