私はログインフォームを作成しています。ユーザーがログインすると、ホームページにつながります。AsyncTaskを作成する際のエラー
私は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 OKですが、機能しません!なぜ
私はlogcat
でこれを参照してください。あなたのonPostExecuteで
07-16 14:57:23.345: WARN/InputManagerService(37): Window already focused, ignoring focus gain of: [email protected]
正しい結果が返ってきたことを確認しましたか? (つまり「300 OK」)また、あなたのonPostExecuteメソッドが別のメソッドを呼び出す以外に何もしない理由は少しありません。あなたのロジックをそこに置くのはなぜですか?特に3行だけです。 – Kenny
Thx私はすでに行っていましたが、何も実行しません上記のようにlog catを表示するインテントアクティビティを呼び出さなかった、それはメソッドからの呼び出しによって別の方法で試してみます。 問題は、別のインテント、任意のアイデアを表示する場合、私は使用しない場合構造体を入れようとすると表示されますか? – sayvortana
問題が何であるかはっきりしていませんが、投稿したエラーは、ビューと入力メソッド(ソフトキーボードなど)のやりとりのためのフレームワーククラスからのものです。開いているアクティビティでキーボード入力を使用していますか? – Kenny