getActivity()在哪里定义?

sri*_*ram 20 methods android android-alertdialog

我是android的新手,我正在关注这个例子.

代码说我们需要执行以下步骤来获取对话框:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

// 2. Chain together various setter methods to set the dialog characteristics
builder.setMessage(R.string.dialog_message)
       .setTitle(R.string.dialog_title);

// 3. Get the AlertDialog from create()
AlertDialog dialog = builder.create();
Run Code Online (Sandbox Code Playgroud)

但是这个getActivity()方法在哪里定义?

我找不到那种方法.

pvn*_*pvn 50

getActivity()方法给出了Activity的上下文.你可以用YourActivityName.this而不是它.

该方法getActivity()通常用于片段中以获得插入或膨胀它们的活动的上下文.

例如

AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);
Run Code Online (Sandbox Code Playgroud)

或者如果您甚至在活动中编写代码

AlertDialog.Builder builder = new AlertDialog.Builder(this);
Run Code Online (Sandbox Code Playgroud)

会锻炼.请随时提出疑问

  • `YourActivityName.this` (6认同)
  • 什么?我以为`getActivity()`返回了Activity,而不是上下文.见[here](http://stackoverflow.com/questions/32527199/cannot-resolve-method-getactivity) (2认同)