先给出自定义的ToastUtil类:java
package com.example.edm; import android.content.Context; import android.widget.Toast; public class ToastUtil { public static Toast toast; public static void showMessage(Context context, String message) { if(toast==null) { toast= Toast.makeText(context,message,Toast.LENGTH_LONG); }else { toast.setText(message); } toast.show(); } }
假设我在B类中须要使用ToastUtil在A类中显示信息,不能直接使用:android
ToastUtil.showMessage(A.class, message)
而是应该在B中定义一个Context变量,在A中生成B时将A.this传进去。 好比说A(JWLoginActivity)为登陆界面,B(ConnectJWGL)为具体的登陆实现类,在A中调用:函数
ConnectJWGL connectJWGL = new ConnectJWGL(id, password1, password2, JWLoginActivity.this);
能够看出,咱们须要把自身JWLoginActivity.this传进去,那么在B也就是ConnectJWGL中,咱们定义它的构造函数为:this
public ConnectJWGL(String stuNum, String in_Password, String jw_Password, Context mContext) throws Exception { this.stuNum = stuNum; this.in_Password = in_Password; this.jw_Password = jw_Password; this.mContext = mContext; }
其中mContext是B中本身定义的变量,那么这个时候就能够在B中调用:spa
ToastUtil.showMessage(mContext, "登陆成功!");