【发布时间】:2015-08-08 02:29:26
【问题描述】:
我想创建一个简单的帮助类,仅显示调试变体的 toast 消息。
这样使用:
TOAST.makeText(context, "Debug Toast message", Toast.LENGTH_SHORT).show();
TOAST.java
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.annotation.NonNull;
import android.widget.Toast;
import com.mypp.BuildConfig;
/**
* Toast that only shows for debug build variants.
*/
@SuppressLint("ShowToast")
public class TOAST extends Toast {
public TOAST(Context context) {
super(context);
}
@NonNull
public static TOAST makeText(@NonNull Context context, CharSequence text, int duration) {
return (TOAST) Toast.makeText(context, text, duration);
}
@NonNull
public static TOAST makeText(@NonNull Context context, int resId, int duration) {
return (TOAST) Toast.makeText(context, resId, duration);
}
@Override public void show() {
if (BuildConfig.DEBUG) {
super.show();
}
}
}
虽然演员在我的实施中失败了:
Caused by: java.lang.ClassCastException: android.widget.Toast cannot be cast to com.mypp.helpers.TOAST
at com.mypp.helpers.TOAST.makeText(TOAST.java:23)
【问题讨论】: