0
我有一個進度微調的一個問題:進度微調不顯示
ProgressBarSpinner spinner = new ProgressBarSpinner();
spinner.execute(Spin);
Login LoginUser = new Login();
if(LoginUser.LoginUser(UserNameValue.getText().toString(), PasswordValue.getText().toString())) {
MessageBox("Login information", "You've been successfully logged in, press OK to continue.");
Document XMLInfo = null;
Passphrase = PasswordValue.getText().toString();
try {
XMLInfo = XMLfromString(LoginUser.ProfileXML);
XML_ProfileParser(XMLInfo);
TickerString = FillProfileSlider(XMLInfo);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Spin.setVisibility(ProgressBar.GONE);
setContentView(R.layout.profile);
TextView ProfileTicker = (TextView)findViewById(R.id.ProfileTicker);
TextView UserInformation = (TextView)findViewById(R.id.NameInfo);
TextView MoneyLabel = (TextView)findViewById(R.id.MoneyInfo);
UserInformation.setText(ProfileInfo.get("FirstName") + " " + ProfileInfo.get("LastName"));
MoneyLabel.setText(ProfileInfo.get("Money") + " Kr");
if(Integer.parseInt(ProfileInfo.get("Messages")) >= 1) {
ImageView MessageImage = (ImageView)findViewById(R.id.MailImage);
MessageImage.setOnClickListener(ImageListener);
MessageImage.setVisibility(ImageView.VISIBLE);
}
ProfileTicker.setText(Html.fromHtml(TickerString));
}
else {
Spin.setVisibility(ProgressBar.GONE);
MessageBox("Login information", "The submitted login information seems to be invalid.");
}
當用戶點擊登錄該被執行。自旋是一個全局的progressbar變量。以下是用於處理微調器的Async類。
private class ProgressBarSpinner extends AsyncTask<ProgressBar, Integer, ProgressBar>
{
protected ProgressBar doInBackground(ProgressBar...Spinner) {
return Spinner[0];
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(ProgressBar Spinner) {
Spinner.setVisibility(ProgressBar.VISIBLE);
Spinner.showContextMenu();
}
}
的問題:如果我嘗試登錄授權的微調不會被顯示在所有後寫
Spin.setVisibility(ProgressBar.GONE);
。但是,如果我刪除ProgressBar.Gone部分,則將顯示微調框。 但是,如果該部分存在,看起來應用程序在它繼續(掛起)之前(記錄用戶或顯示錯誤消息,告訴用戶名或密碼錯誤)。
問題是什麼?
我知道確保登錄沒有那麼快,以至於在微調設置爲GONE之前,微調沒有時間顯示。
顯示所有你的代碼。微調不能既是陣列又是微調。 – Snicolas 2012-03-19 19:16:58
我很好奇你爲什麼使用AsyncTask來管理UI。 – 2012-03-19 19:17:14
我真的不明白這一點,你應該在調用你的AsyncTask並將它隱藏在onPostExecute中之前顯示微調器,我不確定你的問題是微調器應該完全從View.GONE中移除 – bbedward 2012-03-19 19:20:45