首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从webview到textview中提取html代码?

从webview到textview中提取HTML代码的方法可以使用以下步骤:

  1. 获取webview中的HTML代码:可以通过webview的WebViewClient监听onPageFinished()方法,在网页加载完成后获取HTML代码。使用webView.loadUrl("javascript:window.android.onHtmlExtracted(document.documentElement.outerHTML);")执行JavaScript代码,将HTML代码通过接口回调传递给Android端。
  2. 创建一个接口用于将HTML代码传递给Android端:在Android端创建一个接口OnHtmlExtractedListener,定义一个方法onHtmlExtracted(String html)用于接收HTML代码。
  3. 在Android端获取HTML代码并显示在textview中:通过WebViewClientonPageFinished()方法中获取到HTML代码后,调用接口OnHtmlExtractedListeneronHtmlExtracted()方法将HTML代码传递给Android端。在Android端接口的实现方法中,将HTML代码设置给textview进行显示。

以下是示例代码:

在Android端:

代码语言:txt
复制
public interface OnHtmlExtractedListener {
    void onHtmlExtracted(String html);
}

public class MainActivity extends AppCompatActivity implements OnHtmlExtractedListener {
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        WebView webView = findViewById(R.id.webView);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                view.loadUrl("javascript:window.android.onHtmlExtracted(document.documentElement.outerHTML);");
            }
        });
        webView.loadUrl("http://example.com");
    }

    @Override
    public void onHtmlExtracted(String html) {
        textView.setText(Html.fromHtml(html));
    }
}

在webview中的HTML代码中添加以下JavaScript代码:

代码语言:txt
复制
<script>
    window.android = {
        onHtmlExtracted: function(html) {
            // 将html传递给Android端
            if (typeof onHtmlExtractedListener !== 'undefined') {
                onHtmlExtractedListener.onHtmlExtracted(html);
            }
        }
    };
</script>

这样,当webview加载完成后,HTML代码会被传递给Android端,并在textview中显示出来。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券