我有一个ListView在我的第二个activity.OnItemClick调用Web服务并尝试获取数据.之后,我将进入第三项活动,该项活动还包含ListView对先前活动ListView项目的描述.
我想在填充之前显示进度对话框ListView.
我不明白怎么做ListView?有谁知道怎么做?
我的守则 -
ThirdActivity.java
package com.google.iprotect;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.xmlpull.v1.XmlPullParserException;
import com.google.iprotect.layout.TitleBarLayout;
import android.app.Activity;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.content.res.XmlResourceParser;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;
public class ThirdActivity extends ListActivity implements OnItemClickListener{
JSONArray …Run Code Online (Sandbox Code Playgroud) Dialogs @Android Developer表示要避免ProgressDialog指示加载,而是将活动指示器放在布局中.
Progress&Activity @ Android Developer讨论活动指标,但没有命名所使用的类.我没有运气搜索具有ActivityBar,ActivityCircle或ActivityIndicator等名称的Android类.
我在哪里可以找到Android支持的文档(教程,示例或API文档),以便在我的布局中包含活动指示器,避免使用ProgressDialog?
更新: full.stack.ex指出了正确的答案.
首先,在调用setContentView()之前,在Activity的onCreate()方法中包含以下代码:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
Run Code Online (Sandbox Code Playgroud)
接下来,在加载之前(例如,启动AsyncTaskLoader),使用此调用来显示微调器:
setProgressBarIndeterminateVisibility(true);
Run Code Online (Sandbox Code Playgroud)
最后,在加载完成后,再次隐藏微调器:
MainActivity.this.setProgressBarIndeterminateVisibility(false);
Run Code Online (Sandbox Code Playgroud)
答对了!不需要ProgressDialog.使得微调可见似乎装载在模拟器大大减缓(这需要几分钟,而不是秒),但不是我实际的手机上.我不确定是否有任何方法可以让微调器使用更少的CPU周期.