android fragment的webview点击子链后在新的窗口打开,并过去页面标题显示在标题栏的完整代码
时间: 2023-05-31 21:03:52 浏览: 178
Android利用碎片fragment实现底部标题栏(Github模板开源)
这里是一个示例代码,可以在Android Fragment中使用WebView打开子链接,并在新窗口中显示页面标题。
首先,在Fragment的布局文件中,添加一个WebView视图:
```xml
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
然后,在Fragment的Java代码中,添加以下代码:
```java
public class MyFragment extends Fragment {
private WebView mWebView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
mWebView = (WebView) view.findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 在新窗口中打开子链接
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// 设置标题栏的标题为页面标题
getActivity().setTitle(view.getTitle());
}
});
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mWebView.loadUrl("https://www.example.com");
}
}
```
这个示例代码中,我们设置了一个WebViewClient来处理WebView中的链接点击事件。在shouldOverrideUrlLoading()方法中,我们使用WebView的loadUrl()方法来在新窗口中打开子链接,并返回true来告诉WebView不要再处理该链接。在onPageFinished()方法中,我们获取页面标题,并将其设置为Fragment所在Activity的标题栏标题。
在Fragment的onViewCreated()方法中,我们加载一个示例网站来测试代码。你可以将其替换为你自己的网站URL。
阅读全文