在 Android 应用程序中,当第二个活动从第一个活动被调用时,我想在两个活动之间放置进度条,以便应用程序看起来处于运行状态,我认为这样的事情是通过线程完成的,请帮助我,如果有人知道如何做。谢谢提前。
Kartik是正确的,但是让我补充更多内容以在活动中显示进度条。
由于您想要在后台获取数据时显示进度条,因此应在第二个活动中实现AsyncTask。
以下是示例:
private class performBackgroundTask extends AsyncTask <Void, Void, Void>
{
private ProgressDialog Dialog = new ProgressDialog(ClassName.this);
protected void onPreExecute()
{
Dialog.setMessage("Please wait...");
Dialog.show();
}
protected void onPostExecute(Void unused)
{
try
{
if(Dialog.isShowing())
{
Dialog.dismiss();
}
// do your Display and data setting operation here
}
catch(Exception e)
{
}
@Override
protected Void doInBackground(Void... params)
{
// Do your background data fetching here
return null;
}
}
execute()
。您必须使用AsyncTask或Thread来获取所选数据的详细信息。通过使用此方法,您可以解决在两个活动之间显示进度条的问题。
AsyncTask基本示例:AsyncTask
private class LongOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// perform long running operation operation
return null;
}
/* (non-Javadoc)
* @see android.os.AsyncTask#onPostExecute(java.lang.Object)
*/
@Override
protected void onPostExecute(String result) {
// execution of result of Long time consuming operation
}
/* (non-Javadoc)
* @see android.os.AsyncTask#onPreExecute()
*/
@Override
protected void onPreExecute() {
// Things to be done before execution of long running operation. For example showing ProgessDialog
}
/* (non-Javadoc)
* @see android.os.AsyncTask#onProgressUpdate(Progress[])
*/
@Override
protected void onProgressUpdate(Void... values) {
// Things to be done while execution of long running operation is in progress. For example updating ProgessDialog
}
}
ProgressDialog progressDialog = ProgressDialog.show(context, title, text);
当你完成任务后关闭它
if(progressDialog != null && progressDialog.isShowing())
progressDialog.dismiss();
但一定要在UI线程中显示和关闭对话框。AsyncTask可能是这种情况下最好的解决方案。