6

アクティビティのタイトルをフラグメントから変更しようとしています(この場合はandroid.support.v4.app.Fragment)。この目的のために、フラグメントonAttach()で呼び出されたときに、フラグメントの属性にアクティビティを保存します。ドキュメントによると、ビューを埋めるために使用されるいくつかのデータを要求するために使用しているonAttach()前に呼び出す必要があります。onCreateView()ネットワーク検索のスレッドを開始するとき、タイトルにそのことを示したいので、から呼び出しようとthis.activity.setTitle()していFragmentます。ただし、それは。をスローし続けNullPointerExceptionます。ここで何が欠けていますか?

4

2 に答える 2

15

を使用して、フラグメント内のアクティビティにアクセスできますgetActivity()onActivityCreated()Fragment で呼び出されるとすぐに、安全に呼び出すことができます。それ以前は、存在しないか、まだ完全に初期化されていない可能性があります。

それより前にスレッドが開始された場合は、Fragment のどこかにその事実を書き留めて、onActivityCreated呼び出された後にのみタイトルを変更してください。

于 2012-06-22T11:24:44.877 に答える