Android打印HTML文档

时间:2017-04-16 18:46:14

标签: android

我是Android开发的新手,并坚持使用this documentationthis tutorial

基本上,我想将网页打印成PDF。但是在使用文档时,我遇到了getActivity()函数的错误。

在第二个链接(教程)中,我收到PlaceholderFragment()错误。

有人能给我一个打印HTML页面的完整示例吗?

我也想知道片段是什么?我应该创建一个片段来使代码工作吗?怎么做?

1 个答案:

答案 0 :(得分:0)

Android应用程序的结构包含许多组件:活动,片段,服务,适配器,模型和控制器/业务类。

每个组件extends一个特定的android类。 例如,活动扩展Activity类或AppCompatActivity类。 片段可以扩展Fragment类,服务扩展Service类,依此类推......

有些方法只能在活动中使用,因为它们是Activity类方法(或上升方法)。

因此,如果您需要使用片段可以使用的getActivity()方法,但是您不在片段中,则需要以其他方式获取活动。

例如:

private void doWebViewPrint() {
    WebView webView = new WebView(getActivity());
}

应该成为:

private void doWebViewPrint(Activity activity) {
    WebView webView = new WebView(activity);
}

你必须从一个叫做的活动中调用它:

webprinter.doWebViewPrint(this);

甚至更好:

private void doWebViewPrint(Context context) {
    WebView webView = new WebView(context);
}

你必须从一个叫做的活动中调用它:

webprinter.doWebViewPrint(getApplicationContext());

在你写的第二个链接中,我找不到PlaceholderFragment的任何提及。

顺便说一句,在您的应用中不必使用片段,您只需使用活动来创建有效的应用。片段对于管理不同的视图非常有用。在活动的同一容器中,例如使用导航抽屉时,它们有自己的生命周期,可以在不改变活动的情况下进行连接和分离。

您可以找到有关如何将HTML打印为PDF here的更多信息。