Android getActivity()在何处定义?
我对android非常陌生,我正在关注这一点 代码说我们需要执行以下步骤才能获得对话框:Android getActivity()在何处定义?,android,methods,android-alertdialog,Android,Methods,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) .setT
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();
但是getActivity()
方法在哪里定义
我找不到该方法。getActivity()在Fragment类中实现
请参见本文介绍了如何在
片段中创建警报对话框。在片段中,您可以通过调用getActivity()
方法获得相应的Activity
。但在您的情况下,我假设您是在一个活动中执行此操作的。因此,您不必调用getActivity()
。只需使用此
AlertDialog.Builder builder = new AlertDialog.Builder(this);
getActivity();是android Fragment的一种方法,如果您想在活动中显示对话框,只需传递活动的这个,而不是getActivity()
getActivity()
方法提供活动的上下文。您可以使用YourActivityName。此代替它
方法getActivity()
通常在片段中使用,以获取插入或扩展它们的活动的上下文
乙二醇
或者如果您正在活动本身中编写代码,甚至
AlertDialog.Builder builder = new AlertDialog.Builder(this);
我会锻炼的。请随时询问任何疑问getActivity()
是您从中扩展的超类活动的成员方法。它是在活动类本身中定义的。实际上,onCreate()
,onPause()
和所有其他函数本身也在父活动类中定义。构造函数需要一个上下文
参数<代码>上下文
可从活动
、服务
等访问,因为它们都扩展了上下文
,并且可以作为此
传递
方法getActivity()
声明为其他人在Fragment
类中提到的方法。新建AlertDialog.Builder()需要上下文作为输入参数。所以试着像
AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);
我有完全相同的问题,最后我发现了我真正怀疑的。。。
只需添加:
dialog.show();
…瞧。就在那里。
想知道为什么原始示例中没有说明这一点 更新android API级别23
使用getContext()
而不是getActivity()
//1。实例化AlertDialog.Builder及其构造函数
AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);
//二,。将各种setter方法链接在一起以设置对话框特征
builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);
//三,。从create()获取AlertDialog
/4。显示警报对话框
dialog.show();
getActivity当您使用时,则无需放置新的。。。
比如
使用它作为:
PendingIntent pi=PendingIntent.getActivity(this,0,intent,0); //is Right code
在这里,我们删除了提供新分配的new,但在这里,它通过活动中的getActivity(this)提供分配。调用这样的方法与调用'this.getActivity()'相同,因此'this'对象需要该方法可用。在这种情况下,它在一个片段中嗯,我尝试了我的MyActivity。这个但是不起作用。请注意,我在按钮上的设置ClickListener
中。我没有得到任何异常。是否需要调用任何方法来显示alertbox?什么?我认为getActivity()
返回的是活动,而不是上下文。看见
dialog.show();
PendingIntent pi=new PendingIntent.getActivity(this,0,intent,0); //is wrong
PendingIntent pi=PendingIntent.getActivity(this,0,intent,0); //is Right code