2
如何打開在其他活動網頁視圖中顯示的網頁視圖中的鏈接? 我有加載數據的網絡視圖,並有一個鏈接,我需要在其他活動的其他網絡視圖中打開我怎麼能做到這一點?我怎樣才能打開其他web視圖活動的鏈接?
如何打開在其他活動網頁視圖中顯示的網頁視圖中的鏈接? 我有加載數據的網絡視圖,並有一個鏈接,我需要在其他活動的其他網絡視圖中打開我怎麼能做到這一點?我怎樣才能打開其他web視圖活動的鏈接?
這是我的情況:
public class WebPageFragment extends Fragment {
private String mUrl;
private WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
mUrl = getActivity().getIntent().getData().toString();
}
@SuppressLint("SetJavaScriptEnabled")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_web_page, parent, false);
/** some settings here **/
mWebView = (WebView) v.findViewById(R.id.webPage_webView);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Uri uri = Uri.parse(url);
Intent i = new Intent(getActivity(), WebPageActivity.class);
i.setData(uri);
startActivity(i);
return true;
}
});
mWebView.loadUrl(mUrl);
return v;
}
}
的關鍵是覆蓋shouldOverrideUrlLoading(WebView view, String url)
方法。 在我的情況下,我只是啓動相同的活動來加載Url。
我不知道你的實施。但嘗試重寫相同的方法並啓動另一個實例。通過任何方式傳遞網址並加載它。我認爲這會起作用。
我的網頁瀏覽代碼 - web1.loadData(htmldata,「text/html; charset = utf-8」,null); \t \t web1.setWebViewClient(新WebViewClient(){ \t \t @覆蓋 \t \t公共布爾shouldOverrideUrlLoading(的WebView視圖,字符串URL){ \t \t view.loadUrl(URL); \t \t返回FALSE; \t \t } \t \t}); – 2014-09-24 19:31:04
可能的重複[如何從Web視圖加載其他瀏覽器中的鏈接?](http://stackoverflow.com/questions/26010589/how-can-i-load-a-link-in-other-browser-從網絡瀏覽) – 323go 2014-09-24 19:35:14
此代碼是用於打開手機的其他網絡瀏覽器中的鏈接,但現在我需要的是該鏈接打開其他活動的其他網絡視圖。你能幫我解決這個問題嗎? – 2014-09-24 19:44:14