質問編集履歴
2
疑問②を追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -23,7 +23,10 @@ | |
| 23 23 | 
             
            試しに拡張クラスWebViewExに基底クラスに存在するgetUrl()と同名の関数をオーバーライドしたところ、WebViewではなく拡張クラスのWebViewExが実行されました。
         | 
| 24 24 | 
             
            結果的に意図した処理は実現できたのですが、何かもやもやしています。
         | 
| 25 25 |  | 
| 26 | 
            +
            疑問①
         | 
| 26 27 | 
             
            onReceivedError()イベントの第一引数で渡されるのは"setWebViewClient()した際のオブジェクト"という理解で合っておりますでしょうか?
         | 
| 28 | 
            +
            疑問②
         | 
| 29 | 
            +
            onReceivedError()のwebviewを利用して、その拡張クラスであるWebViewExにしか存在しない処理を実行する方法はありますでしょうか?
         | 
| 27 30 |  | 
| 28 31 | 
             
            ### 該当のソースコード
         | 
| 29 32 |  | 
1
誤字
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -5,20 +5,20 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            ### 当方の前提条件および疑問
         | 
| 7 7 | 
             
            ▽前提条件
         | 
| 8 | 
            -
             | 
| 8 | 
            +
            ①.WebViewクラスにID情報などを追加した拡張クラス:WebViewExを実装済み
         | 
| 9 9 | 
             
            // public class WebViewEx extends WebView {…}
         | 
| 10 | 
            -
             | 
| 10 | 
            +
            ②.拡張クラスWebViewExにはURL情報を提供するための関数を実装済み
         | 
| 11 11 | 
             
            // public String getUrl(){return url;} // onReceivedErrorハンドラ用
         | 
| 12 | 
            -
             | 
| 12 | 
            +
            ③.メイン処理にて、WebViewExインスタンスに対してWebViewClientをセット
         | 
| 13 13 | 
             
            // WebViewExインスタンス.setWebViewClient(new WebViewClient();
         | 
| 14 | 
            -
             | 
| 14 | 
            +
            ④. setWebViewClientにて、onPageFinished及びonReceivedErrorハンドラ実装済み
         | 
| 15 15 | 
             
            // public void onPageFinished(WebView view, String url) {
         | 
| 16 16 | 
             
            // public void onReceivedError(WebView view, …) {
         | 
| 17 | 
            -
             | 
| 17 | 
            +
            ⑤.WebViewExインスタンスのloadUrl()実行エラー時にonReceivedError()の起動を確認
         | 
| 18 18 | 
             
            →その際、onReceivedError()が実行された際、引数としてWebView view…を受け取る。
         | 
| 19 19 |  | 
| 20 20 | 
             
            ▽疑問
         | 
| 21 | 
            -
            上記 | 
| 21 | 
            +
            上記⑤のonReceivedError処理内にて、拡張クラスWebViewExの情報が必要となりました。
         | 
| 22 22 | 
             
            onReceivedError()は引数にWebViewを受け取るため、拡張クラスWebViewExの情報をどのように参照するか思案しておりました。
         | 
| 23 23 | 
             
            試しに拡張クラスWebViewExに基底クラスに存在するgetUrl()と同名の関数をオーバーライドしたところ、WebViewではなく拡張クラスのWebViewExが実行されました。
         | 
| 24 24 | 
             
            結果的に意図した処理は実現できたのですが、何かもやもやしています。
         | 
