2019 Aug. 30.
$ at 時刻
2019年1月2日12時13分
$ at 12:13 01022019
時刻指定
$ at 時刻
2019年1月2日12時13分
$ at 12:13 01022019
- 時間:分
- 時間:分 日.月.年
- 時間:分 月日年
- 時間:分 月/日/年
- 時間:分 年-月-日
public class MyActivity extends AppCompatActivity {
Button buttonOK;
/*
* MyAsyncTask内のListenerインターフェースを呼び出す
*/
private MyAsyncTask.Listener createListener() {
return new MyAsyncTask.Listener() {
/*
* Listenerインターフェースの抽象メソッドonSuccessにコードを実装
*/
@Override
public void onSuccess(String result) {
CODES_TO_RUN_AFTER_MyAsyncTask;
}
};
}
/*
* buttonOKがタップされたらMyAsyncTaskが呼び出される
*/
buttonOK.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myAsyncTask = new MyAsyncTask();
/*
* MyAsyncTask内のListenerインターフェース型変数listenerに
* createListener()をセットする
* createListener()ではListenerインターフェースの
* 抽象メソッドonSuccessの実装コードが記述されている。
* MyAsyncTask内で"listener.onSuccess()"によって実装コードを実行できる。
*/
myAsyncTask.setListener(createListener());
myAsyncTask.execute();
}
});
}
(MyAsyncTask.java)public class MyAsyncTask extends AsyncTask{ private Listener listener; /* * 抽象メソッドonSuccess()は、MyAsyncTask内で実行させたい処理。 * 抽象メソッドonSuccess()は、MyAsyncTaskを呼び出すMyActivity内の * createListener()内で実装されている。 */ interface Listener { void onSuccess(String str); } void setListener(Listener listener) { this.listener = listener; } @Override protected String doInBackground(Void... params) { } @Override protected void onPostExecute(String result) { super.onPostExecute(result); CODES_TO_EXECUTE_onPostExecute; /* * onSuccess()メソッド実行 */ listener.onSuccess(result); return; } }