Ошибка создания AsyncTask - PullRequest
0 голосов
/ 16 июля 2011

Я создаю форму входа. Когда пользователь входит в систему, он ведет на домашнюю страницу.

Я создаю действие, которое имеет AsyncTask. Вот соответствующая часть моего кода:

public class iniTask extends AsyncTask<String, Void, String> {
    private ProgressDialog Dialog = new ProgressDialog(GPSTracerActivity.this);

    protected void onPreExecute() {
        Dialog.setMessage("Connect to server...");
        Dialog.show();
    }

    protected String doInBackground(String... url_req) {
        String url = url_req[0];
        try {
            Log.v("doing background", executeHttpGet(url));
            return executeHttpGet(url);
        } catch(Exception e) { 
            Log.v("Exception doing background","Exception:"+e.getMessage());
            return ""; 
        }
    }

    protected void onPostExecute(String result) { 
        try {
                           Dialog.dismiss();
                        // here when thing go    wrong
                startNewAction(result);     


        } catch(Exception e) {
            Log.v("Exception process response","Exception:"+e.getMessage());
        } 
    }
}

Вот startNewAction(result):

public void startNewAction(String result){
    if (result.substring(0, 6) == "300 OK"){
        Intent i = new Intent(GPSTracerActivity.this, Home.class);
        startActivity(i);
    }
}

Задача запускается правильно, но когда я звоню startNewAction(result), это не вызывает новую деятельность. Почему?

ПРИМЕЧАНИЕ: когда я включаю, если структура для проверки строки == 300 ОК, это не работает! почему

Я вижу это в logcat:

07-16 14:57:23.345: WARN/InputManagerService(37): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40777ee0

Ответы [ 2 ]

0 голосов
/ 18 июля 2011

Я только что нашел решение, есть ошибка из-за способа сравнения строки,

Так и должно быть,

      if (result.substring(0, 6).equals("300 OK") ){
                Intent i = new Intent(GPSTracerActivity.this, Home.class);
                startActivity(i);               
      }

В любом случае, спасибо за идеи !!!

0 голосов
/ 16 июля 2011

В вашем onPostExecute сначала закройте диалоговое окно.

Dialog.dismiss();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...