使用する親クラスの実現メソッド¶
説明・動機 使用する親クラスの実現メソッド、あるいは直する親クラスの実現メソッド。
1.子クラスの中で、「onDialogResultClick()」と「onInputTextDialogResult()」メソッドを「オーバーライド」させることです。 1.1 子クラスに「オーバーライド」させることで「onDialogResultClick()」メソッドがありました。 「onInputDialogResult()」メソッドを呼び出す時に、先ず 「onDialogResultClick()」メソッドの中の「super.onDialogResultClick()」メソッドをコールしてから、 親クラスの対応条件のダイアログを検索する。 子クラスは「オーバーライド」させることで「onInputDialogResult()」メソッドですから、そのを行う。
1.2 子クラスに「オーバーライド」させることで「onDialogResultClick()」メソッドがありませんでした。 「onInputDialogResult()」メソッドを呼び出す時に、この「オーバーライド」のメソッドをコールしました。
上述「1.1」と「1.2」メソッドは同じ作用でした. それで この所の「onDialogResultClick()」メソッドは冗長性でした。 子クラス:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <pre> <code class="java"> @Override public void onDialogResultClick(int calledByViewId,Class<? extends CasioBaseDialog> dialogClass, int whichButton,String resultValue) { super.onDialogResultClick(calledByViewId, dialogClass, whichButton,resultValue); } @Override public void onInputTextDialogResult(int calledByViewId, int whichButton,String resultValue) { ロジック処理 } </code> </pre> |
親クラス:
1 2 3 4 5 6 7 8 9 10 11 12 | <pre> <code class="java"> @Override public void onDialogResultClick(int calledByViewId,Class<? extends CasioBaseDialog> dialogClass, int whichButton,String resultValue) { if (dialogClass == InputTextDialog.class) { onInputTextDialogResult(calledByViewId, whichButton, resultValue); } public void onInputTextDialogResult(int calledByViewId, int whichButton,String resultValue) { } </code> </pre> |
2.上述のメソッドの基礎で、「onDialogResultClick()」メソッドで右ボタン条件の判断語句を付ける。 「onInputTextDialogClick()」メソッドを呼び出す時に、 2.1このダイアログの右ボタンをクリックする時に、先ず 「onDialogResultClick()」メソッドの中の「super.onDialogResultClick()」メソッドをコールして、 それから 親クラスの対応条件のダイアログを検索する。 子クラスは「オーバーライド」させることで「onInputDialogResult()」メソッドですから、そのを行う。 2.2このダイアログの左ボタンをクリックする時に、「onDialogResultClick()」メソッドの中の「super.onDialogResultClick()」メソッドをコールしませんでした。 それで、「オーバーライド」の「onDialogResultClick()」メソッドを触発しませんでした。 子クラス:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <pre> <code class="java"> @Override public void onDialogResultClick(int calledByViewId,Class<? extends CasioBaseDialog> dialogClass, int whichButton,String resultValue) { if (whichButton == DialogButton.RIGHT) { super.onDialogResultClick(calledByViewId, dialogClass, whichButton,resultValue); } } @Override public void onInputTextDialogResult(int calledByViewId, int whichButton,String resultValue) { ロジック処理 } </code> </pre> |
親クラス:
1 2 3 4 5 6 7 8 9 10 11 12 | <pre> <code class="java"> @Override public void onDialogResultClick(int calledByViewId,Class<? extends CasioBaseDialog> dialogClass, int whichButton,String resultValue) { if (dialogClass == InputTextDialog.class) { onInputTextDialogResult(calledByViewId, whichButton, resultValue); } public void onInputTextDialogResult(int calledByViewId, int whichButton,String resultValue) { } </code> </pre> |