我試圖獲得對活動片段的實例的引用,但我不確定如果我這樣做的方式最好,或者它會導致內存泄漏。在JavaScript中,像這樣做會保留Object的一個實例並可能導致問題,但我不確定Java會如何處理GC。從WebView中獲取片段的實例
以下的工作,但有沒有更好的方法?
public class WebframeFragment extends Fragment {
...
String baseUrl;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
Fragment self = this; // will this cause trouble?
this.baseUrl = getActivity().getIntent().getStringExtra(Extra.REQUEST_URL);
webActivity.setWebView(webView);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (urlType(url) == urlType(self.baseUrl)){
return false;
}
}
}
}
...
}
可能會使用Fragment self = this.getContext();你會得到更好的結果 – HCarrasko
雖然我需要訪問'this.baseUrl'。 –