android加载刷新进度条,android – 在Activity加载时显示进度条
我有一個ListActivity,它基于列表選擇啟動另一個Activity。第二個Activity需要從互聯網上加載一些相當數據的數據,因此在用戶點擊一個項目和Activity顯示之間有一個明顯的延遲。
這是一個問題,因為我目前無法向用戶指出他們的點擊正在被處理(即使只是更改所選列表項的顏色也是足夠的,但我找不到一個很好的方法)。理想情況下,我可以在第二個Activity被加載時顯示一個不確定的ProgressDialog。
我已經嘗試了幾種不同的方法,但沒有什么似乎根據需要工作。
我嘗試過以下操作:
>在第一個Activity中的AsyncTask中檢索可序列化的數據(不是全部,而是部分),并將其作為額外的數據傳遞給第二個。這不是很好,因為我在onPreExecute()中創建的ProgressDialog沒有立即顯示(由于某些原因似乎在doInBackground()中執行的處理延遲)。
這是代碼:
AsyncTask read = new AsyncTask() {
Dialog progress;
@Override
protected void onPreExecute() {
progress = ProgressDialog.show(SearchActivity.this,
"Loading data", "Please wait...");
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
DatasetReader reader = new DatasetReader();
reader.setFundID(params[0]);
reader.addDatsets(FundProfile.datasets);
reader.populate();
return reader.toString();
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progress.dismiss();
}
};
read.execute(selectedItem.getUniqueID());
try {
action = new Intent(SearchActivity.this, FundProfile.class);
action.putExtra("data", read.get());
} catch(Exception ex) {
ex.printStackTrace();
}
>在第二個Activity的onCreate()方法(這根本不起作用):
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarVisibility(true);
這是第二種方法的onCreate()方法:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTitleColor(Color.WHITE);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarVisibility(true);
try {
setContentView(R.layout.fund_profile);
// init some data
setProgressBarVisibility(false);
} catch(Exception ex) {
FundProfile.this.finish();
}
}
總結
以上是生活随笔為你收集整理的android加载刷新进度条,android – 在Activity加载时显示进度条的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 苹果ios鸿蒙,苹果iOS界面一直都很美
- 下一篇: 华为鸿蒙os再见了安卓,再见了安卓!华为
