사용자가 유효한 이메일 및 비밀번호를 입력하지 못하면 로그인 대화 상자를 표시하려고합니다. 로그인 프로세스가 HTTP 요청 및 JSON을 처리해야하기 때문에 AsyncTask에서 경고 대화 상자가 표시되지 않는 문제인지 여부는 확실하지 않습니다. Android - AsyncTask에서 알림 대화 상자 표시
public void checkUser(JSONObject json){
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
if (tag == login_tag){
// check for login response
try {
if (json.getString(KEY_SUCCESS) != null) {
String res = json.getString(KEY_SUCCESS);
if(Integer.parseInt(res) == 1){
// user successfully logged in
// Store user details in SQLite Database
// code omitted
} else{
// Error in login
mProgressDialog.dismiss();
builder.setMessage("Incorrect username/password")
.setTitle("Error")
.setNeutralButton("OK", new OnClickListener() {
public void onClick(final DialogInterface dialog,final int which) {
dialog.cancel();
}
}).create().show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
는 어떻게 든 내 경고 대화 상자가 표시되지 않을 수 있습니다 내가 왜 모르는 : 그래서 이것은
AsyncTask
클래스의
onPostExecute
내에서 호출되는 방법
checkUser
이다. 이 문제의 이유가 무엇인지 알면 저를 도와주세요. 고마워요!
EDIT :이 메서드를 실행 한 후에 만 Progress Dialog
을 닫습니다. 따라서 경고 대화 상자를 표시하기 전에이를 닫습니다. 그러나 그것은 여전히 문제를 해결하지 못했습니다. 실종 builder.create()
// Error in login
builder.setMessage("Incorrect username/password")
.setTitle("Error")
.setNeutralButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
dialog.cancel();
}
}).create().show();
나는 그것을 추가하려고했지만 여전히 슬프게도 보여줄 수 없다. –
@strawberryjam : 먼저 제어가 다른 블록으로 들어가고 plz가 최신 코드 –
으로 질문을 편집하십시오. 제안 해 주셔서 감사합니다! 방금'create() '를 추가하여 코드를 편집했지만 아직 문제가 남아 있습니다. –