我很新的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
是从访问Activity
, Service
等,因为它们都extend
Context
,并且可以作为传递this
。
该方法getActivity()
为他人在已mentiond声明Fragment
类。
Answer 5:
本文介绍如何创建一个AlertDialog
的Fragment
。 在片段,就可以得到相应的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?