SwipeRefreshLayout 和处理 webview 中的外部链接(手动 class)在 android webview 中不能一起工作
SwipeRefreshLayout and to handle external links in webview( manual class) not working together in android webview
我在 android 中使用 webview 我已经在 webview 中实现了下拉刷新。我还创建了一个 class 来处理网站内的外部链接以仅在应用程序内打开链接,但问题是重新加载器一直像这样加载
xml 网页视图片段文件
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe2"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<WebView
android:id="@+id/Zomato"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
/>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
SwipeLayout 在 Desc.java
SwipeRefreshLayout swipe;
static WebView webView;
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
webView=view.findViewById(R.id.Zomato);
swipe=view.findViewById(R.id.swipe2);
}
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
String url = "https://www.zomato.com/";
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
swipe.setRefreshing(false);
}
});
}
webView.setWebViewClient(new Fragment2.GeoWebViewClient());
你好实际上你做错了,因为你在这里设置网络视图客户端拖曳时间意味着它将覆盖第一个所以请只设置第一次并将逻辑放在 onPageFinished 它会起作用。 Referer 波纹管回答
我在 android 中使用 webview 我已经在 webview 中实现了下拉刷新。我还创建了一个 class 来处理网站内的外部链接以仅在应用程序内打开链接,但问题是重新加载器一直像这样加载
xml 网页视图片段文件
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe2"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<WebView
android:id="@+id/Zomato"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
/>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
SwipeLayout 在 Desc.java
SwipeRefreshLayout swipe;
static WebView webView;
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
webView=view.findViewById(R.id.Zomato);
swipe=view.findViewById(R.id.swipe2);
}
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
String url = "https://www.zomato.com/";
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
swipe.setRefreshing(false);
}
});
}
webView.setWebViewClient(new Fragment2.GeoWebViewClient());
你好实际上你做错了,因为你在这里设置网络视图客户端拖曳时间意味着它将覆盖第一个所以请只设置第一次并将逻辑放在 onPageFinished 它会起作用。 Referer 波纹管回答