AndroidStudioにて、サンプルコードを元にクイズアプリを作成中です。
その中で、ダイアログを作成しているのですが、3行目のsetPositiveButtonの実装で、第二引数にnew DialogInterface.OnClickListnerと記しているのが気になりました。
インターフェイスは、implementによって実装できるという認識でいるので、かなり戸惑いました。
この引数の正体はどうなるのでしょうか?ご教授の程よろしくお願い致します。
Java
1AlertDialog.Builder Notice = new AlertDialog.Builder(this); 2 Notice.setTitle(notice); 3 Notice.setPositiveButton("NEXT", new DialogInterface.OnClickListener() { 4 @Override 5 public void onClick(DialogInterface dialog, int which) { 6 7 if (Qvolume == quizCount){ 8 Intent journey = new Intent(getApplicationContext(),resultActivity.class); 9 journey.putExtra("RIGHT_ANSWER_COUNT",rightCount); 10 startActivity(journey); 11 }else{ 12 quizCount++; 13 OpenQuiz(); 14 } 15 16 } 17 18 }); 19 20 Notice.setCancelable(false); 21 Notice.show();
また、インターフェイスのコードを見てもこれで、例えばここ(OnClickListner)だとリスナーの実装ができるととても思えません。このインターフェースは、継承もしていないので、この処理だけで完結しているはずですが、どういったことでしょうか?
Java
1 interface OnClickListener { 2 /** 3 * This method will be invoked when a button in the dialog is clicked. 4 * 5 * @param dialog the dialog that received the click 6 * @param which the button that was clicked (ex. 7 * {@link DialogInterface#BUTTON_POSITIVE}) or the position 8 * of the item clicked 9 */ 10 void onClick(DialogInterface dialog, int which); 11 } 12
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/14 01:19
2020/10/14 01:31
2020/10/14 01:48
2020/10/14 02:49
2020/10/14 03:16
2020/10/14 04:09
2020/10/14 14:15
2020/10/14 14:39
2020/10/15 00:19