我想在我的Android应用程序中显示Toast,而不向现有函数“ShowToast”添加额外的参数/参数/输入,因为ShowToast已经在许多Java文件中使用过了。所以我不能在每个地方都添加额外的输入参数。
这是我的代码,我通过HTML字体标签添加文本颜色,工作正常。
public static void ShowToast(Context context, String Message){
Toast toast = Toast.makeText(context, Html.fromHtml("<font color='#FF0001' ><b>" + Message + "</b></font>"), Toast.LENGTH_LONG);
toast.getView().setBackgroundColor(Integer.parseInt("#000000"));
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
}
但是当我添加setBackgroundColor时,应用挂起并显示以下错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setBackgroundColor(int)' on a null object reference
有没有人可以帮助,以什么可能是在同一行的替代?
先谢谢你了。
1条答案
按热度按时间u5rb5r591#
吐司.view方法在Android 11之后返回null。您应该创建一个新的custom_toast_background.xml并将其绑定到toast
首先,创建一个custom_toast_background. xml布局文件
设置吐司的布局