teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

疑問②を追加

2021/12/20 08:32

投稿

snowsmile
snowsmile

スコア0

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

誤字

2021/12/20 08:32

投稿

snowsmile
snowsmile

スコア0

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