SwipeRefreshLayout и для обработки внешних ссылок в веб-представлении (ручной класс) не работают вместе в Android-веб-обозрение - PullRequest
0 голосов
/ 01 июня 2018

Я использую веб-просмотр в Android, я реализовал тянуть, чтобы обновить в веб-просмотре.Также я создал класс, который обрабатывает внешние ссылки внутри веб-сайта, чтобы открывать ссылки только внутри приложения, но проблема в том, что перегрузчик продолжает загружаться следующим образом

enter image description here

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());

1 Ответ

0 голосов
/ 01 июня 2018

Привет. На самом деле вы делаете не так, потому что здесь вы устанавливаете время буксировки клиента веб-вида, что означает, что он будет переопределять первый, поэтому, пожалуйста, установите только первый раз и включите логику, чтобы onPageFinished работал.Рефери ниже ответ

https://stackoverflow.com/a/6720004/3894930

...