0

ここに私が達成しようとしているものがあります: 私はいくつかのタグとインターネット リソースを含むローカルの html ページを組み立ててから、html ページの web ページを WebView で読み込みます。ページの最後に [もっと見る] ボタンがあります。誰かがボタンをクリックすると、html ページを再構築し (古いデータと新しいデータを使用して、Twitter を更新してより多くの twits をロードするなど)、WebView に再度ロードさせます。しかし、ユーザーがボタンをクリックしたときに特定の場所までスクロールしたので、ボタンをクリックする前にユーザーがいた場所まで WebView をスクロールさせたいと思います。

WebViewClient を作成して実装します。

public void onPageFinished(WebView view, String url) {
    view.scrollTo(last_X, last_Y);
}

期待どおりに動作しません。2 つの懸念事項があります。助けてください。1. このコールバック関数は常に動作するとは限りません。ほとんどの場合は機能しますが、原因不明で機能しない場合もあります。2. うまくいったとしても、私が望んでいるものとはまったく異なります。前述したように、html ページには次のようなインターネット リソースが含まれています。

<a href='whateversite/whateverimage'><img src='whateversite/whateverimage'></img></a>

scrollTo 関数は、すべての画像が読み込まれたときにのみ呼び出され、時間がかかりすぎて不要です。ページが読み込まれたときに他のすべてのリソースが読み込まれる前にスクロールを開始する方法はありますか? つまり、webview.getContentHeight() > 0 である限り、スクロールしても問題ありません。

私の英語が下手なことをお詫びします.

皆さん、半分ください〜

4

1 に答える 1

0

このようなことをしてください:

view.post(new Runnable() {
    public void run() {
        view.scrollTo(last_X, last_Y);
    }
});
于 2013-01-30T08:47:45.243 に答える