Вызов методов деятельности извне классов - PullRequest
0 голосов
/ 28 декабря 2011

Я действительно запутался со всем этим контекстом приложения / деятельности. Я хочу вызвать некоторые из методов активности из классов, например, мои собственные WebChromeClient или ConnectionChangeReceiver (обнаружение изменений сетевого подключения).

Пример кода:

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); // ??
      }

}

Как этого добиться? Есть ли какой-нибудь разумный образец, который мог бы помочь мне избежать утечек памяти?

1 Ответ

1 голос
/ 28 декабря 2011

Я не совсем уверен.

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;
}
...