我是新進入Android開發,並堅持this documentation和this tutorialAndroid的打印HTML文檔
基本上,我想打印一個網頁轉換成PDF。但是在使用文檔時,我遇到了getActivity()
函數的錯誤。
而在第二個鏈接(教程)中,我得到錯誤PlaceholderFragment()
。
任何人都可以給我一個完整的例子來打印一個HTML頁面嗎?
我也想知道一個片段是什麼?我應該創建一個片段來使代碼有效嗎?以及如何做到這一點?
我是新進入Android開發,並堅持this documentation和this tutorialAndroid的打印HTML文檔
基本上,我想打印一個網頁轉換成PDF。但是在使用文檔時,我遇到了getActivity()
函數的錯誤。
而在第二個鏈接(教程)中,我得到錯誤PlaceholderFragment()
。
任何人都可以給我一個完整的例子來打印一個HTML頁面嗎?
我也想知道一個片段是什麼?我應該創建一個片段來使代碼有效嗎?以及如何做到這一點?
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。