フラグメント内のコンテキストの取得
フラグメントを操作する場合、コンテキストを利用するために親アクティビティのコンテキストにアクセスする必要がある場合があります。依存するリソースと機能。ただし、フラグメント内で getApplicationContext() または FragmentClass.this を使用しようとすると、エラーが発生する可能性があります。
この問題を解決するには、getActivity() メソッドを使用して、フラグメントに関連付けられたアクティビティを取得します。アクティビティは (Context クラスを拡張するため) コンテキストであり、目的のコンテキストへのアクセスを提供します。
たとえば、コンテキスト パラメーターを必要とする次のデータベース コンストラクターを考えてみましょう:
public Database(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); }
このコンストラクターをフラグメント内で使用するには、以下に示すように getActivity() メソッドを利用できます。
Database database = new Database(getActivity());
これにより、データベース インスタンスが確実に正しいコンテキストにアクセスできるため、コンテキスト固有のリソースと機能を利用できるようになります。
以上がフラグメント内から親アクティビティのコンテキストにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。