我得到了以下警告:
自定义视图COM/example/view/adapter/someAdapter缺少工具使用的构造函数:(Context)或(Context,AttributeSet)或(Context,AttributeSet,int)
在我的类中,某个Adapter扩展了某个BaseAdapter扩展了ArrayAdapter
public class SomeAdapter extends BaseAdapter{}
public abstract class BaseAdapter extends ArrayAdapter<SomeModel>{}
该警告存在于具体适配器中,而不存在于抽象的基适配器中。有人听过这种警告吗?
AFAIK Android通过ViewConstructorDetector检查超级类的名称来检查类是否扩展了视图:
private static boolean isViewClass(ClassContext context, ClassNode node) {
String superName = node.superName;
while (superName != null) {
if (superName.equals("android/view/View") //$NON-NLS-1$
|| superName.equals("android/view/ViewGroup") //$NON-NLS-1$
|| superName.startsWith("android/widget/") //$NON-NLS-1$
&& !((superName.endsWith("Adapter") //$NON-NLS-1$
|| superName.endsWith("Controller") //$NON-NLS-1$
|| superName.endsWith("Service") //$NON-NLS-1$
|| superName.endsWith("Provider") //$NON-NLS-1$
|| superName.endsWith("Filter")))) { //$NON-NLS-1$
return true;
}
superName = context.getDriver().getSuperClass(superName);
}
return false;
}
就我所见,我的类名与上面的模式不匹配。有没有人知道如何修复或抑制这个警告?
BaseAdapter中的getView():
@Override
public final View getView(final int position, final View convertView, final ViewGroup parent) {
View view = convertView;
if (null == view) {
view = createNewView(parent, position);
} else {
reuseOldView(view, position);
}
return view;
}
在CustomView类中添加构造函数:
public CustomView(Context context) {
super(context);
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
LeetCode上有一个问题,要求你将一个多级双链接列表扁平化。我深陷其中,于是开始四处搜索。我为它找到了一个Java解决方案,但它没有意义。 给定的类没有任何构造函数(自定义),但在解决方案中,它们将它创建一个对象,就像它有一个自定义构造函数一样! 如下所示: 这怎么可能?这就像类有某种隐藏的构造函数一样!
编辑:需要知道如何创建由Textview填充的
可以定义一个(a)没有用户定义的构造函数,以及(b)无法生成默认构造函数。例如,下面的: 您仍然可以使用聚合初始化创建Foo的实例: 我的普通编译器(VS2012)将勉强接受这一点,但它提出了两个警告: 警告C4510:'Foo':无法生成默认构造函数。 警告C4610:结构“Foo”永远不能实例化-需要用户定义的构造函数 当然,我刚刚证明了警告#2是错误的——您仍然可以使用聚合初始化来实例化它。
我在android应用程序上使用自定义适配器查看列表。我不知道如何设置项目单击的侦听器。我的应用程序使用Kotlin。 这是我的适配器布局。 有人可以帮助我吗?
我有一个父回收器视图,其中包含一个水平回收器视图作为其项目。在其中,我将显示分类视频。当我开始滚动水平回收器视图时,应用程序崩溃。 错误是: 我的代码是category类 垂直适配器 水平适配器
这是我得到的错误: 在模板中:“std::priority_queue ,std::vector >”的初始化没有匹配的构造函数,(lambda位于