如何分别保存每个webview.getUrl();它自己的webview.getScrollX();和webview.getScrollY();? 如何为每个单独的网址保存自己的滚动位置?
例如,对于www.example.com,我保存其webview.getScrollX();。和webview.getScrollY();在一个书签中。 对于另一个www.yahoo.com,我保存其webview.getScrollX();。和webview.getScrollY();在另一个书签中。 当我从书签中检索这些网站时,webview会滚动到其自己的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);