2

プログレスバー:

ProgressBar pb = (ProgressBar) findViewById(R.id.progressbar);
pb.setProgress(0);
int k = (int)max;
pb.setMax(k);
int j = (int)(cost);
pb.setProgress(j);

int 値のみを取るプログレス バーのこのコードは、double 値を取るようにコードを変更したい

4

2 に答える 2

7

できません。ウィジェットは、最大および現在の進行状況ProgressBarのみを受け入れます。intsいつものように、最小値を制御することはできません0

必要な最大および現在の進行状況の値に 10 の累乗を掛けて、小数をなくすことができます。はProgressBar、進行状況が の比率であるため、10 進値の場合と同じ量の進行状況を示しますcurrentValue/maxValue。両方に同じ数を掛けるので、比率は等しくなります。例えば:

0.1/10 = 0.01

ただし、0.1 と 10 の両方に 10 を掛けて小数を取り除くと、次のようになります。

1/100 = 0.01 //Same result
于 2013-03-14T19:37:47.790 に答える
1

整数値のみを受け入れます。methodそれがdouble値を渡すことはありません。

public synchronized void setProgress (int progress)

アンドロイド開発者のドキュメントを見てください。

Parameters
progress    the new progress, between 0 and getMax()
于 2013-03-14T19:39:02.967 に答える