并道歉如果这个问题之前被问到.. 我是新手到android ..我使用HttpClient从servlet获取响应.. 和servlet给我答复作为JSON对象.. 和我读这使用缓冲读者..Android - 与mainUi线程同步
这个东西,我使用的AsyncTask
以下是代码片段..
public void onClickButtonLogin() {
button_login.setOnClickListener(new View.OnClickListener() {@
Override
public void onClick(View v) {
if (logInFor.equalsIgnoreCase("Driver")) {
if (!TextUtils.isEmpty(editText_userName.getText().toString().trim()) && !TextUtils.isEmpty(editText_userName.getText().toString().trim())) {
doCheckUserAuthentication(editText_userName.getText().toString(), editText_password.getText().toString());
if (isUserAuthenticate) {
if (loggedInUser.getRollNo() == 2) {
Intent intent = new Intent(getApplicationContext(), TruckingMenuDriverActivity.class);
startActivity(intent);
} else {
Toast toast = Toast.makeText(context, "Invalid username/password", Toast.LENGTH_SHORT);
toast.show();
editText_userName.setText("");
editText_password.setText("");
}
} else {
Toast toast = Toast.makeText(context, "Invalid username/password", Toast.LENGTH_SHORT);
toast.show();
editText_userName.setText("");
editText_password.setText("");
}
} else {
Toast toast = Toast.makeText(context, "Invalid username/password", Toast.LENGTH_SHORT);
toast.show();
editText_userName.setText("");
editText_password.setText("");
}
}
}
});
}
public void doCheckUserAuthentication(String userName, String password) {
LoginTask task1 = new LoginTask();
task1.execute(userName, password);
/*if(task1.getStatus() != AsyncTask.Status.FINISHED){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}*/
}
小号我试图更新isUserAuthenticate变量onPostExecute但它不更新.. 如果我第一次尝试tun和ture在第二..我认为可能是它的线程syncronization问题..但我不知道热做主UI线程等待单元AnyncTask线程。完成.. 所以请帮助我..what我需要做的..提前 谢谢..