並道歉如果這個問題之前被問到.. 我是新手到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我需要做的..提前 謝謝..