Держите текущую страницу, представленную, пока на следующей странице не загружена -- android поле с участием webview пол Связанный проблема

Keep current page rendered until the next page is loaded


2
vote

проблема

русский

У меня есть простое приложение, которое основано на WebView.loadurl (« http://www.example.com ").

Когда пользователь нажимает на URL, поведение по умолчанию необходимо немедленно показать пустую страницу, подождите, пока страница не будет загружена, а затем показать эту страницу.

Мне удалось показать всплеск экрана вместо пустой страницы. Однако возможно ли сохранить текущую страницу, выполненную вместо этого, и визуализировать следующую страницу только тогда, когда она полностью загружена?

Английский оригинал

I have a simple app that is based on WebView.loadUrl("http://www.example.com").

When a user clicks on a URL, the default behavior is to immediately show a blank page, wait until the page is loaded, and then show this page.

I managed to show a splash screen in lieu of the blank page. However, is it possible to keep the current page rendered instead, and render the next page only when it is fully loaded?

</div
     
       
       

Список ответов

1
 
vote
vote
Лучший ответ
 

Это, я чувствую, хаки раствора. Я предлагаю это как временное исправление, пока кто-то не будет называть «реальный» способ сделать это.

<Код> MainActivity Класс:

 <код> Include("Friends")0  

<Код> Include("Friends")1 :

 <код> Include("Friends")2  
 

This is, I feel, a hacky solution. I offer it as a temporary fix until someone posts the "real" way to do this.

MainActivity class:

public class MainActivity extends Activity {     WebView webView1, webView2;     EditText editText;      @Override     public void onCreate(Bundle savedInstanceState)     {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);          editText = (EditText) findViewById(R.id.edit_url);         webView1 = (WebView) findViewById(R.id.webView_1);         webView2 = (WebView) findViewById(R.id.webView_2);          webView1.setWebViewClient(client);         webView2.setWebViewClient(client);          webView1.loadUrl(editText.getText().toString());     }      private WebViewClient client = new WebViewClient()     {         public void onPageFinished(WebView webView, String url)         {             if (webView == webView1)                 webView2.setVisibility(View.GONE);             else                 webView1.setVisibility(View.GONE);              webView.setVisibility(View.VISIBLE);             Toast.makeText(MainActivity.this, "WebView " + (webView == webView1 ? "One" : "Two") + " is showing", 0).show();         }     };      private void loadUrl(String url)     {         if (webView1.getVisibility() == View.GONE)             webView1.loadUrl(url);         else             webView2.loadUrl(url);     }      public void onClick(View v)     {         loadUrl(editText.getText().toString());     } } 

main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >      <android.webkit.WebView android:id="@+id/webView_1"         android:layout_width="match_parent"         android:layout_height="0dp"         android:layout_weight="1" />      <android.webkit.WebView android:id="@+id/webView_2"         android:layout_width="match_parent"         android:layout_height="0dp"         android:layout_weight="1"         android:visibility="gone" />      <LinearLayout         android:layout_width="match_parent"         android:layout_height="wrap_content" >          <EditText android:id="@+id/edit_url"             android:layout_width="0dp"             android:layout_height="wrap_content"             android:layout_weight="4"             android:layout_gravity="center_vertical"             android:text="http://www.example.com" />          <Button android:id="@+id/button_load"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:onClick="onClick"             android:text="Load" />      </LinearLayout>  </LinearLayout> 
</div
 
 
 
 

Связанный проблема

0  ONITEMSELUCTERLISTENER не выходит, когда я выбираю то же предыдущее значение  ( Onitemselectedlistener is not fired when i select the same previous value ) 
Когда я снова выбираю то же значение, которое в адаптере значения не обновляются и даже OnitEmseLectedListener или NothingsElected не выдержаны Вот следует ...

4  Как получить местное видео URI для Exoplayer 2.x  ( How to get local video uri for exoplayer 2 x ) 
У меня есть видеофайл Dog.mp4 в res/raw папка, который я хочу играть с экзоплом. Я пытаюсь выяснить, как получить видео URI для этой строки кода из Руководс...

-1  Как изменить странные и даже пункты меню переполнения меню  ( How to change odd and even overflow menu items background ) 
Как изменить странные и даже переполнить пункты меню фон в Android? ...

1  Первое приложение для Android после Eclipse Установить  ( First app for android after eclipse install ) 
Я искал вокруг и не могу найти точную ситуацию или ответить, что мне нужно, поэтому мне придется задать вопрос, что я уверен, что где-то просил там, поэтому м...

2  Как получить направление на кратчайший путь внешнего круга в Google Maps Android, когда мое текущее местоположение находится внутри 2 или более кругов?  ( How to get direction to the shortest path outside circle in google maps android ) 
Как получить направление к ближайшему расположению внешний круг, если голубые точки - текущее местоположение? 1 [ 1 и как отображать маркеры только во...

9  Phone Gam [Ошибка] CMD: Команда не удалась с помощью выхода кода Enoent  ( Phone gap error cmd command failed with exit code enoent ) 
Я пытаюсь получить разрыв на телефоне работать на Android, и моя команда выводит следующее: <код> phonegap build android [phonegap] detecting Android SDK en...

1  Обновить и загрузить один конкретный фрагмент предыдущего действия  ( Refresh and load one particular fragment of the previous activity ) 
У меня есть 3 фрагмента в активности. Один из фрагментов отображает список предметов вместе с ценой и количеством. При выборе любого элемента появится новое д...

6  Как использовать OnDateChangedListener, OnDatesetListener без использования DatePickerDialog?  ( How to use ondatechangedlistener ondatesetlistener without using datepickerdial ) 
Я хочу иметь возможность обнаруживать изменения в DatePicker, как только пользователь начинает менять его. Однако я не хочу использовать datrpickerdialog. Кто...

2  Распознавание речи Android не подключено к службе распознавания  ( Android speech recognizer not connected to the recognition service ) 
Я хочу ввести функцию постоянного распознавания голоса в моем приложении Android. Я осознаю тот факт, что распознавание голоса время от времени зависает от ...

0  Android-студия «Приложения имеют одинаковое имя пакета»  ( Android studio applications have the same package name ) 
Мое приложение в Android Studio имеет отдельные компоненты для мобильных устройств и для очков Google. Когда я пытаюсь загрузить мобильную версию на Nexus 10 ...

25  Почему приложение умирает случайным образом?  ( Why application is dying randomly ) 
Я разрабатываю приложение для музыкального проигрывателя. Все работает нормально, за исключением внезапно умирает приложение. Иногда это происходит, когда при...

6  Android Gridlayout API 21  ( Android gridlayout api 21 ) 
Я пытаюсь сделать что-то вроде этого: В настоящее время я вручную устанавливаю ширину плиток, равных половине ширины экрана. Это работает хорошо, но он д...

1  Android - Interstitialad - ресурсы сервисов Google Play не были найдены  ( Android interstitialad the google play services resources were not found ) 
Я пытаюсь добавить межстициализацию в мой проект. Я добавил необходимую библиотеку Скачать сервис Google от Manager SDK Импортировка проекта в качеств...

2  Как поставить один за один звонок на удержание? [закрыто]  ( How to put one by one call on hold ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> <Путь d = "M15 6.38A6.48 6.48 0 007.78. 04H-.02A6.49 6.49 0 002.05 ...

1  Проблема с использованием TextureView с NDK  ( Issue using textureview with ndk ) 
Я работаю над небольшим кусочком кода, используя текстуру, чтобы отобразить результат среды MediaPlayer. Я сталкиваюсь с проблемой, пытающимся смешивать упр...

Связанный проблема

0  ONITEMSELUCTERLISTENER не выходит, когда я выбираю то же предыдущее значение 
4  Как получить местное видео URI для Exoplayer 2.x 
-1  Как изменить странные и даже пункты меню переполнения меню 
1  Первое приложение для Android после Eclipse Установить 
2  Как получить направление на кратчайший путь внешнего круга в Google Maps Android, когда мое текущее местоположение находится внутри 2 или более кругов? 
9  Phone Gam [Ошибка] CMD: Команда не удалась с помощью выхода кода Enoent 
1  Обновить и загрузить один конкретный фрагмент предыдущего действия 
6  Как использовать OnDateChangedListener, OnDatesetListener без использования DatePickerDialog? 
2  Распознавание речи Android не подключено к службе распознавания 
0  Android-студия «Приложения имеют одинаковое имя пакета» 
25  Почему приложение умирает случайным образом? 
6  Android Gridlayout API 21 
1  Android - Interstitialad - ресурсы сервисов Google Play не были найдены 
2  Как поставить один за один звонок на удержание? [закрыто] 
1  Проблема с использованием TextureView с NDK 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.