【问题标题】:Unchecked call to super of ArrayAdapter未经检查地调用 ArrayAdapter 的 super
【发布时间】:2013-04-24 03:10:11
【问题描述】:

我已经实现了一个自定义数组适配器,虽然应用程序运行良好,但在超级线路上时出现此错误:

未经检查地调用 ArrayAdapter(Context, int, T[]) 作为原始类型 Android.Widget.ArrayAdapter 的成员

这是我的自定义 ArrayAdapter:

class MyArrayAdapter extends ArrayAdapter {

    public MyArrayAdapter(Context context, int textViewResourceId, Object[] objects)
    {
        super(context, textViewResourceId, objects);
    }
    .
    .
    .

super 突出显示为错误。

我该如何解决这个问题?

【问题讨论】:

  • 我面临的确切问题。请考虑清除我在答案的评论部分中提出的疑问。

标签: android


【解决方案1】:

将您的类声明更改为:

class MyArrayAdapter extends ArrayAdapter<Object>

顺便说一下,考虑使用比Object 更具体的东西——这对你来说也会更方便。

【讨论】:

  • 已将其更改为字符串,谢谢。
  • 通过将其更改为对象,我的警告是固定的。我查看了具有“对象”作为返回类型的 getItem() 方法。我的疑问是,如果我们扩展 ArrayAdapter 类,我们是否会从 getItem() 方法收到预期的输出。抱歉,这是一个蹩脚的问题。我对这个很陌生。
  • @Pravin 我没有完全明白你的问题。
  • 我有两个 ArrayAdapter 模板(两个扩展 ArrayAdapter 的类文件)。对于我更改 ArrayAdapter 的文件,它没有显示任何警告。但是对于另一个文件,当我更改为 ArrayAdapter 时,它显示“未经检查的分配:'java.util.ArrayList' to 'java.util.List'”1) public NTrackAttendanceAdapter(Context context, String[] studentNames, ArrayList admissionRowArrayList) 我的第一个 ArrayAdapter 模板 我的第二个类文件在下一条评论中
  • 2) public NTrackDriverTripsAdapter(上下文上下文, ArrayList studentNames, ArrayList PassengerArrayList, ArrayList vehicleRegNumberArrayList, ArrayList tripTimingArrayList)
【解决方案2】:

如果您查看ArrayAdapter class,它是一个通用的class。因此,您必须指定将通过适配器操作哪种类型的数据。例如,如果您操作字符串:

class MyArrayAdapter extends ArrayAdapter<String> {
//
}

【讨论】:

  • 先生! 里面的那些你叫什么?它是一种输入/输出类型吗?我是新手。
猜你喜欢
  • 2011-05-11
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多