我理解如何创建一个AlertDialog对象以及如何添加元素,但我不明白什么是getActivity()方法,我怎么能得到它?
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
答案 0 :(得分:2)
首先,您应该阅读文档中的getActivity()
。
getActivity()
可以在Fragments
中使用,并返回:
返回此片段当前与之关联的活动。
创建此方法是为了获取当前Activity
为什么需要它来创建对话框?
正如您所见,AlertDialog
的构造函数需要context
,那么您必须通过getActivity()
但为什么我会得到"名称" getActivity"在当前上下文中不存在"?
如果您不在Fragment
,则不必致电getActivity()
,您可以使用this
通过其context
Activity
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
答案 1 :(得分:1)
AlertDialog.Builder
构造函数正在寻找context,因此在Xamarin中,如果您已经在this
内,则可以将Activity
传递给当前活动。
var builder = new AlertDialog.Builder(this);
builder.SetTitle("My Custom Alert").SetMessage("StackOverflow").Create().Show();