getActivity()定义它?(getActivity() where it is define

2019-07-18 14:18发布

我很新的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();

但是,在没有该getActivity()方法被定义?

我无法找到该方法。

Answer 1:

所述getActivity()方法给出了活动的上下文中。 您可以使用YourActivityName.this代替它。

该方法getActivity()中的片段通常用于获得它们被插入或充气的活性的情况下。

例如

AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);

或者,如果你在你活动本身编写代码,甚至

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

意志的锻炼。 请随时提出任何疑问



Answer 2:

新AlertDialog.Builder()需要上下文作为输入参数。 因此,尝试像

AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);


Answer 3:

getActivity()在片段类中实现。

见http://developer.android.com/reference/android/app/Fragment.html



Answer 4:

构造函数AlertDialog.Builder需要一个Context参数。 Context是从访问ActivityService等,因为它们都extend Context ,并且可以作为传递this

该方法getActivity()为他人在已mentiond声明Fragment类。



Answer 5:

本文介绍如何创建一个AlertDialogFragment 。 在片段,就可以得到相应的Activity通过调用getActivity()方法。 但在你的情况下,我认为你是在做这个Activity 。 所以你不必调用getActivity() 只需使用this

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


Answer 6:

getActivity(); 就是Android片段的方法,如果你想显示在您的活动对话框,只是通过this你的活动,而不是getActivity()



Answer 7:

getActivity()是您从扩展超类的活动的部件的方法。 它是在活动类本身定义。 INFACT onCreate() onPause()和所有其它功能本身在父活动类也定义。



Answer 8:

我有完全相同的问题,最后我发现我竟然怀疑...只需添加:

dialog.show();

......瞧。 在那里,它是。 不知道为什么,这是不是在原来的例子说明!?



Answer 9:

更新的Android API级别23。

使用getContext()代替getActivity()



Answer 10:

// 1.实例与其构造方法的AlertDialog.Builder

AlertDialog.Builder builder = new AlertDialog.Builder(yourActivityName.this);

// 2.链一起各种设置方法设置的对话框特性

builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);

// 3.获取AlertDialog从创建()

AlertDialog dialog = builder.create();

// 4.显示AlertDialog

dialog.show();


Answer 11:

当您使用getActivity那么没有必要把新...如

PendingIntent pi=new PendingIntent.getActivity(this,0,intent,0); //is wrong

用户它:

PendingIntent pi=PendingIntent.getActivity(this,0,intent,0); //is Right code

在这里,我们消除新提供新的分配,但在这里它的活动提供通过getActivity其分配在(本)。



文章来源: getActivity() where it is defined?