我在使用web服務,我在onpostexecute()方法中遇到了Toast問題。我試圖根據logcat response.resultsRequestSOAP顯示吐司是從服務器檢索的字符串值。如果字符串值是1,那麼我應該在烤麪包中顯示「註冊」。如果0然後「再試一次」,如果-1然後「字段爲空」Android:同步響應Toast異步任務onpostexecute()
在我的logcat我得到的響應作爲字符串值。
問題是每次我得到「再試一次」吐司消息。
這個問題可能是布爾(我正在使用),而不是從不返回null的原始值。我混淆這一行else if(resultsRequestSOAP.booleanValue())。它不適合我。如何解決這個問題?
PLZ有人檢查onpostexecute()中的代碼並讓我知道問題。
我想比較logcatand中的值顯示這樣的敬酒。 如果它的1則「註冊」, 如果其0,那麼「重試」, 如果其-1,則「字段應該不能爲空」
幫助總是讚賞...!
public class Register extends Activity {
public static final Boolean resultsRequestSOAP = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
private class RegisterTask extends AsyncTask<Void, Void, Boolean> {
private final ProgressDialog dialog = new ProgressDialog(Register.this);
protected void onPreExecute() {
this.dialog.setMessage("Registering...");
this.dialog.show();
public Boolean register() {
// code for webservices********
}
return resultsRequestSOAP;
protected void onPostExecute(Boolean resultsRequestSOAP) {
if (this.dialog.isShowing()) {
this.dialog.dismiss();
}
if (resultsRequestSOAP == null) {
Toast.makeText(Register.this.getApplicationContext(), "Try Again", Toast.LENGTH_SHORT).show();
}
else if (resultsRequestSOAP.booleanValue()) {
//also show register success dialog
Toast.makeText(Register.this.getApplicationContext(), "Registerd", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(Register.this.getBaseContext(), "Field is empty", Toast.LENGTH_SHORT).show();
}
super.onPostExecute(resultsRequestSOAP);
}
沒有你嘗試使用僅此於吐司 – Rasel
@Rasel,是試圖只用麪包 – Raj
你把AsynchTask類作爲一個內部類」 – Rasel