我正在学习如何编程Android应用程序。我正在搞乱它。
现在我正在创建一个自定义Toast,我用XML创建一个布局并将该XML转换为java(使用LayoutInflater
类),以便布局显示在Toast
和然后在2-3秒后消失(使用Toast.LENGTH_LONG
)。
我正在观看关于该视频的YouTube视频,我注意到了一些事情。这个人说他在写这篇文章时实例化了一个对象:
LayoutInflater inflater= getLayoutInflator();
但我认为您需要使用new
关键字来实例化/创建对象,以便为什么不使用它。然后我尝试写
LayoutInflater inflater = new LayoutInflater();
并收到以下错误:
Cannot instantiate the type LayoutInflater.
我知道在尝试从界面创建对象时会出现此错误,但我不认为layoutinflater是一个接口而是一个类。
答案 0 :(得分:3)
LayoutInflater是一个abstract类。因此,它无法实例化。
答案 1 :(得分:2)
LayoutInflater
是一个抽象类,因此您无法像这样实例化。但是你可以做到以下几点:
LayoutInflater inflater = LayoutInflater.from(context);
或者
LayoutInflater inflater = (LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
如果您在Activity
课程,也可以拨打getLayoutInflater()
。