2017-04-16 9 views
0

私はAndroidの開発に新たなんだと基本的にthis documentationthis tutorialAndroidの印刷HTMLドキュメント

で立ち往生、私はPDFにWebページを印刷したいです。しかし、私はgetActivity()関数でエラーが発生しているドキュメントを使用するとき。

2番目のリンク(チュートリアル)で、PlaceholderFragment()とエラーが発生しています。

誰でも私にHTMLページを印刷する完全な例を教えてもらえますか?

また、断片が何であるか知りたいですか?コードを動作させるためにフラグメントを作成する必要がありますか?それをどうやってやるの?

答えて

0

Androidアプリは、アクティビティ、フラグメント、サービス、アダプタ、モデル、コントローラ/ビジネスクラスなどの多くのコンポーネントを持つように構成されています。

各コンポーネントextends特定のアンドロイドクラス。 たとえば、アクティビティはActivityクラスまたはAppCompatActivityクラスに拡張されます。 フラグメントは、サービスがServiceクラスを拡張し、Fragmentクラスを拡張することができ、それらはActivityクラスメソッド(あるいは優勢)であるため、ように...

は唯一のアクティビティで使用することができ、いくつかの方法があります。

getActivity()メソッドを使用する必要がある場合は、フラグメントで使用できますが、フラグメントには含まれていないため、別の方法でアクティビティを取得する必要があります。例えば

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

、あなたが呼び出しアクティビティからそれを呼び出す必要があります:

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

はなるべき

webprinter.doWebViewPrint(this); 

またはより良い:

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

、あなたは活動の呼び出しからそれを呼び出す必要があります:あなたが書いた2番目のリンクで

webprinter.doWebViewPrint(getApplicationContext()); 

を、私はPlaceholderFragmentへの一切の言及を見つけることができません。

ところで、あなたのアプリでフラグメントを使用することは必須ではありません、あなたは働くアプリを持つためのアクティビティを使うことができます。フラグメントは、ナビゲーション・ドロワーを使用する場合など、アクティビティーの同じコンテナー内のさまざまな「ビュー」を管理するのに便利です。独自のライフ・サイクルを持ち、アクティビティーを変更することなくアタッチおよびデタッチできます。

HTMLをPDFに印刷する方法の詳細は、hereを参照してください。

関連する問題