0

私は、このすべてのアプリケーション/アクティビティ コンテキストに本当に混乱しています。自分のクラスWebChromeClientConnectionChangeReceiver(ネットワーク接続の変更を検出する) など、クラスからいくつかのアクティビティ メソッドを呼び出したいと考えています。

コード例:

public class MyWebChromeClient extends WebChromeClient {

    MyWebView webview;
    MyApp app;

// own constructor to store info about webview which is used in the current    
//webchrome client
    public MyWebChromeClient(Context context, MyWebView wv)
    {
        this.webview = wv; // store information about current webview (leaks?)
        this.app = context.getApplicationContext(); // store app context 
    }

    public void onConsoleMessage(String message, int lineNumber, String sourceID) {
           app.getActivityWhichIsUsingThisWebView().logFromWebView(webview, message); // ??
      }

}

それを達成する方法は?メモリリークを回避するのに役立つ賢明なパターンはありますか?

4

1 に答える 1

1

私はあまりよく分からない。

Activity activity;

public MyWebChromeClient(Context context, MyWebView wv,Activity activity)
{
    this.webview = wv; // store information about current webview (leaks?)
    this.app = context.getApplicationContext(); // store app context 
    this.activity = activity;
}
于 2011-12-28T10:32:03.840 に答える