Как сохранить для каждого отдельно webview.getUrl ();свой собственный webview.getScrollX ();и webview.getScrollY () ;?Как сохранить для каждого отдельного URL свою собственную позицию прокрутки?
Пример, для www.example.com я сохраняю его webview.getScrollX ();и webview.getScrollY ();в одной закладке.Для другого www.yahoo.com я сохраняю его webview.getScrollX ();и webview.getScrollY ();в другой закладке.И когда я извлекаю эти сайты из закладки, прокрутка веб-просмотра переходит к их собственным webview.getScrollX и webview.getScrollY.
В моем коде я сохраняю webview.getScrollX ();и webview.getScrollY ();для каждого веб-сайта и когда я извлекаю их из закладки, они всегда прокручиваются на одну и ту же позицию, а не на свои собственные webview.getScrollX и webview.getScrollY.
private final String SCROLL_XX = "XX";
private final String SCROLL_YY = "YY";
private boolean ScrollToBookmark = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Remember.init(this, getPackageName());
}
Сохранение webview.getUrl ();позиция прокрутки
private void insert() {
Some code to save webview.getUrl and webview.getTitle
Remember.putInt(SCROLL_XX, webView.getScrollX());
Remember.putInt(SCROLL_YY, webView.getScrollY());
}
Прокрутка до сохраненной позиции прокрутки
private void initWebView() {
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(final WebView view, String url) {
super.onPageFinished(view, url);
progressBar.setVisibility(View.GONE);
if (ScrollToBookmark) {
ScrollToBookmark = false;
view.postDelayed(new Runnable() {
@Override
public void run() {
int x = Remember.getInt(SCROLL_XX, 0);
int y = Remember.getInt(SCROLL_YY, 0);
view.scrollTo(x, y);
dialog.dismiss();
}
}, 1000);
}
invalidateOptionsMenu();
}
}
Извлечение сохраненного webview.getUrl ();и своя собственная позиция прокрутки
@Override
public void onItemSelected(AdapterView<?> parentView, View
selectedItemView, int position, long id) {
}
Some code
if(c.moveToFirst()){
//txturl.setText("");
txturl.invalidate();
txturl.setText("");
txturl.setText(c.getString(1));
String cargafav = txturl.getText().toString();
if (!Remember.containsKey(SCROLL_XX)&
(!Remember.containsKey(SCROLL_YY))) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setView(R.layout.layout_loading);
dialog = (AlertDialog) builder.create();
dialog.show();
ScrollToBookmark = true;
webView.loadUrl(cargafav);