「クラスA」というクラスがありますa)検証というボタンがありますb)検証のonClickでブール値を返すauth.authenticate()を呼び出しますc)trueの場合-インテントを呼び出す必要があります
認証機能は別のクラスにあります(authはrefです)
認証機能は以下の通りです()
boolean authenticate(){
new AsyncTask<String, String, String>() { preExecute() { --starting a progress bar-- } doInBackground(String ) { ---- huge authentication code----- ------ returns true or false -------isVerified } onPostExecute(String) { --- dismiss progress bar----------- } }.execute(); } --------end of AsynTask block---- synchronized (this) { try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return isVerified; ---- this should return to MyClass - after async finishes
-しかし、これは非同期が完了する前に返されます..実際には正しいです-これらはスレッドであるため-並列で実行されるため、動作させるために-同期ブロックを使用して非同期が完了するまで待機しました-しかし、それは私のメインをブロックしますスレッド-(プログレスバーもありません)
実行後の成功で次のアクティビティを呼び出すことができます-ライブラリクラスを作成しているので..私はすべきではないと思います...助けてください
}