Android Toast上下文

时间:2015-05-17 17:54:02

标签: android toast

我想知道下面两个Toast中两个上下文之间的区别,何时使用此&什么时候使用getActicity?

   Toast.makeText(getActivity() , "Text" ,Toast.LENGTH_LONG).show();

   Toast.makeText(this , "Text" ,Toast.LENGTH_LONG).show();

4 个答案:

答案 0 :(得分:1)

如果您说要尝试从Fragment访问它,请使用getActivity()否则如果您自己在Activity,请使用this

答案 1 :(得分:1)

您可以使用Contextthis指定您的getApplicationContext()

getActivity() 

与Android Fragments一起使用

答案 2 :(得分:1)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@android:color/white" android:orientation="vertical" android:padding="15dp" android:clickable="true"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/username" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/userName" android:layout_width="300dp" android:layout_height="wrap_content" android:ems="10" android:inputType="text" android:text="" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/password" android:textAppearance="?android:attr/textAppearanceSmall" /> <EditText android:id="@+id/password" android:layout_width="300dp" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" android:text="" /> <Button android:id="@+id/loginButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/loginButton" /> </LinearLayout> 实际上是一个指针,指向您所在的当前类。this可以引用thisActivityFragment之类的内容。等等。当使用View时,传递当前对象的引用。

this仅在getActivity()类和任何其他扩展Fragment的类中可用,此方法返回类型为Fragment的对象。

答案 3 :(得分:1)

要创建Toast,您需要一个Context对象。

如果您在Activity班级或其他扩展Context班级的班级,则可以使用this(因为Activity本身就是Context孩子)

例如,如果您在Fragment课程中,但未扩展Context,则应使用getActivity()获取Context参考。

这里是关于Context类的文档,您可以在其中找到扩展它的所有类:http://developer.android.com/reference/android/content/Context.html