2011-04-01 100 views
1

按钮按下时,我想,以显示与信息登录成功进度条,当我在登录按钮点击我怎么能在android系统做任何机构可以引导我,如果可能的话请给出代码显示与信息进度条的Android

+0

请解释更多。点击登录按钮时你的应用程序会做什么。 ?..太短解释 – 2011-04-01 09:45:57

+0

当我点击登录按钮时,如果登录成功,它会移动到下一页。当它在移动过程中时,我想显示登录成功消息的进度条 – user671005 2011-04-01 09:49:14

+0

验证用户身份试图登录?是否有任何数据库或网络相关的操作?..只想在进度条中显示登录成功消息。为什么不敬酒或任何其他通知。 ? – 2011-04-01 09:50:20

回答

1

看到你需要做的是:当用户点击按钮时,开始后台服务(在这里认证用户)。进行后台处理时必须显示进度条。取决于结果显示适当的消息,无论用户是否被授权或不在例如吐司或其他活动中说。

为了完成冗长的操作,您必须使用Thread或AsyncTask。这同时处理用户界面以及后台进程。

你需要做的是:在onClick事件中调用AsyncTask。在这里你必须创建一个LoginOperation对象,然后简单地调用它的LoginOperation.execute()方法。

为了显示结果,你敬酒这样的消息:的AsyncTask的)

Toast.makeText(context,"Your Message",Toast.LENGTH_LONG).show(); 

Ofcourse,你必须将它添加在onPostExecute(。

private class LoginOperation extends AsyncTask<String, Void, String> { 

private ProgressDialog Dialog = new ProgressDialog(ClassName.this); 

@Override 
protected String doInBackground(String... params) { 
// perform long running operation operation 
//Here you have to do your network operations.. 
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 

try 
    { 
      if(Dialog.isShowing()) 
      { 
       Dialog.dismiss(); 
      } 
      // do your Display and data setting operation here 
    } 
    catch(Exception e) 
    { 

    } 
//Here depending upon your validation, display appropriate message. 
If(correct_user) 
call another activity 
else 
display error toast message in the same activity 


} 

/* (non-Javadoc) 
* @see android.os.AsyncTask#onPreExecute() 
*/ 

@Override 

protected void onPreExecute() { 
    Dialog.setMessage("Authenticating....."); 
    Dialog.show(); 

// 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 
} 

}

+0

查看关于此的完整讨论:http://stackoverflow.com/questions/4776236/how-to-implement-a-progressdialog-while-activity-requests-a-soapobject-from-a-web – 2011-04-01 10:25:45