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を参照してください。