我构建了一个应用程序,其中,我可以从服务器获取数据,所以我只想在其上放置进度条,但我不能给出具体的持续时间。从服务器获取整个数据时,它是随机解散的。所以你能告诉我怎么办?
你能给出一个简单的例子吗
答案 0 :(得分:1)
您可以使用这些http://developer.android.com/reference/android/widget/ProgressBar.html示例,但最好与异步任务Example of async task集成,因为您不知道只需使用onPostExecute
关闭进度需要多长时间。
希望它有所帮助
答案 1 :(得分:1)
您需要将AsynTask
和indeterminate ProgressDialog组合在一起。像这样:
private class DownloadTask extends AsyncTask<...> {
private ProgressDialog progressBar;
protected void onPreExecute() {
progressBar = ...;
progressBar.show();
}
protected Long doInBackground() {
// blah blah
}
protected void onPostExecute() {
progressBar.dismiss();
}
}
如果用户想要取消进度,请不要忘记处理。
答案 2 :(得分:1)
你可以使用AsyncTask
private class Myclass extends AsyncTask<Void, Integer, Void> {
ProgressDialog pDialog;
@Override
protected void onPreExecute() {
pDialog= ProgressDialog.show(context, "", "loading...");
pDialog.show();
super.onPreExecute();
}
@Override
protected Long doInBackground(Void... unused) {
// your code here
return null;
}
@Override
protected void onPostExecute(Void unused) {
pDialog.dismiss();
}
}
答案 3 :(得分:1)
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.event_detail);
pd = ProgressDialog.show(this, "Please Wait", "Loading ....", true,true);
Thread thread = new Thread(this); //Implment Runnable;
thread.start();
// setData();
}
@Override
public void run()
{
//Do your all work except User Interface Updation
han.sendEmptyMessage(0);
}
private Handler han=new Handler()
{
@Override
public void handleMessage(Message msg)
{
dismiss dialog
}
};