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; } }