ホームページ >Java >&#&チュートリアル >Android で AsyncTask からブール値の結果を返すにはどうすればよいですか?
非同期タスク (AsyncTask) は、時間のかかる操作のバックグラウンド処理を実行するためによく使用されます。ただし、接続の成功を示すブール値を返す必要がある場合、どうすればこれを実現できますか?
AsyncTask からブール値を返すには、インターフェースを利用して定義することができます。結果を受け取るメソッド。方法は次のとおりです:
public interface MyInterface { public void myMethod(boolean result); }
内部AsyncConnectTask では、インターフェースを引数としてコンストラクターに挿入します。
public AsyncConnectTask(Context context, String address, String user, String pass, int port, MyInterface mListener) { mContext = context; ... this.mListener = mListener; }
タスクの初期化時、ブール値を処理するインターフェースの実装を提供します。 result.
AsyncConnectTask task = new AsyncConnectTask(SiteManager.this, _address, _username, _password, _port, new MyInterface() { @Override public void myMethod(boolean result) { if (result == true) { Toast.makeText(SiteManager.this, "Connection Succesful", Toast.LENGTH_LONG).show(); } else { Toast.makeText(SiteManager.this, "Connection Failed:" + status, Toast.LENGTH_LONG).show(); } } });
通常どおりタスクを開始します:
task.execute();
このアプローチ接続が成功したか失敗したかにかかわらず、結果がインターフェイスを通じて伝達され、UI スレッドで実行されることを保証します。 onPostExecute メソッド内。
以上がAndroid で AsyncTask からブール値の結果を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。