是否有可能,如果是的话,如何在没有用户做任何事情的情况下从进度100转到1。
喜欢每个.05sec的seekbar.setProgress( - = 1) 因此,如果没有用户执行任何操作,搜索栏将一直向下,直到达到1。
请告诉他们如何做到这一点
感谢您
答案 0 :(得分:1)
class Async extends AsyncTask<Void, Integer, Void>{
ProgressDialog dialog;
public Async(Context ctx) {
dialog = new ProgressDialog(ctx);
dialog.show();
}
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
dialog.incrementProgressBy(1);
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
dialog.dismiss();
super.onPostExecute(result);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
int i=0;
while (i < 1000) {
publishProgress(1);
i++;
}
return null;
}
}
答案 1 :(得分:0)
大致类似的东西(注意:可能无法编译):
private int progressStatus = 100;
new Thread(new Runnable()
{
public void run()
{
while (progressStatus > 1)
{
progressStatus = doSomeWork();
//---Update the progress bar---
handler.post(new Runnable()
{
public void run() {
progressBar.setProgress(progressStatus);
}
});
}
handler.post(new Runnable()
{
public void run() {
// Do your thing here when it's done
}
});
}
private int doSomeWork()
{
try
{
//---simulate doing some work---
Thread.sleep(50);
} catch (InterruptedException e)
{
e.printStackTrace();
}
int progress = progressStatus - 1;
return progress;
}
}).start();
答案 2 :(得分:0)
您可能被迫编写自己的进度条。这是一个例子:http://techdroid.kbeanie.com/2010/04/custom-progressbar-for-android.html
有多种方法可以做到这一点......