Machen Sie eine Screenshot-Methode in Fragment

Ich habe versucht, diesen Code in einem Fragment zum Laufen zu bringen. Dieser Code läuft in einer Aktivität einwandfrei, aber ich kann nicht dafür sorgen, dass er innerhalb des Fragments funktioniert.

Wenn ich auf eine Schaltfläche klicke, wird die takeScreenshot-Methode aufgerufen.

Dies ist der Code für den Screenshot:

public Bitmap takeScreenshot() {
    View rootView = findViewById(android.R.id.content).getRootView();
    rootView.setDrawingCacheEnabled(true);
    return rootView.getDrawingCache();
}

Die "findViewById" wird nicht erkannt, da sie sich in einem Fragment befindet.

Ich habe es versucht:

View rootView = getView().findViewById(android.R.id.content).getRootView();

aber es funktioniert auch nicht. Ich bekomme

07-25 09:37:32.746: E/AndroidRuntime(31221): FATAL EXCEPTION: main
07-25 09:37:32.746: E/AndroidRuntime(31221): java.lang.NullPointerException
07-25 09:37:32.746: E/AndroidRuntime(31221):    at com.dream3ncore.thefinalwordcounts.level01.Song01.takeScreenshot(Song01.java:763)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at com.dream3ncore.thefinalwordcounts.level01.Song01.onClick(Song01.java:152)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.view.View.performClick(View.java:4211)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.view.View$PerformClick.run(View.java:17362)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.os.Handler.handleCallback(Handler.java:725)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.os.Looper.loop(Looper.java:137)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at android.app.ActivityThread.main(ActivityThread.java:5227)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at java.lang.reflect.Method.invokeNative(Native Method)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at java.lang.reflect.Method.invoke(Method.java:511)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
07-25 09:37:32.746: E/AndroidRuntime(31221):    at dalvik.system.NativeStart.main(Native Method)

Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage