2017-04-16 11 views
0

Ich bin neu in Android Entwicklung und stecken mit this documentation und this tutorialAndroid Drucken HTML-Dokument

Grundsätzlich möchte ich eine Webseite in eine PDF drucken. Aber wenn ich die Dokumentation verwende, bekomme ich Fehler mit getActivity() Funktion.

Und im zweiten Link (das Tutorial) bekomme ich Fehler mit PlaceholderFragment().

Kann mir jemand ein komplettes Beispiel geben, um eine HTML-Seite zu drucken?

Ich möchte auch wissen, was ein Fragment ist? Soll ich ein Fragment erstellen, damit der Code funktioniert? Und wie geht das?

Antwort

0

Eine Android App ist so strukturiert, dass sie viele Komponenten enthält: Aktivitäten, Fragmente, Dienste, Adapter, Modelle und Ihre Controller/Business-Klassen.

Jede Komponente extends eine bestimmte Android-Klasse. Zum Beispiel erweitert Aktivitäten Activity Klasse oder AppCompatActivity Klasse. Fragment kann Fragment Klasse erweitern, Service Service-Klasse erweitert, und so weiter ...

Es gibt einige Methoden, die nur in der Aktivität verwendet werden können, weil sie Activity Klassenmethoden (oder aufsteigend) sind.

Wenn Sie also die Methode getActivity() verwenden müssen, die von einem Fragment verwendet werden kann, aber Sie nicht in einem Fragment sind, müssen Sie die Aktivität auf andere Weise erhalten.

Zum Beispiel:

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

sollte geworden:

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

und Sie haben es aus einer Tätigkeit rufen Aufruf:

webprinter.doWebViewPrint(this); 

oder noch besser:

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

und Sie haben es aus einer Tätigkeit Berufung nennen:

webprinter.doWebViewPrint(getApplicationContext()); 

Im zweiten Link, den Sie geschrieben habe, kann ich keine Erwähnung PlaceholderFragment finden.

Übrigens ist es nicht obligatorisch, Fragmente in Ihrer App zu verwenden, Sie können nur Aktivitäten verwenden, um eine funktionierende App zu haben. Fragmente sind nützlich, um verschiedene "Ansichten" in einem Container einer Aktivität zu verwalten. Wenn sie beispielsweise eine Navigationsleiste verwenden, haben sie ihren eigenen Lebenszyklus und können angehängt und entfernt werden, ohne die Aktivität zu ändern.

Weitere Informationen zum Drucken von HTML in PDF here finden Sie.

Verwandte Themen