Java 使用ListAdapter将项添加到ListView

Java 使用ListAdapter将项添加到ListView,java,android,listview,android-listview,listadapter,Java,Android,Listview,Android Listview,Listadapter,各位晚上好, 我正在开发一个android应用程序,我有一个(自定义)ListView和一个自定义ListAdapter。当我试图通过调用ListAdapter上的.add()将数据添加到ListView时,应用程序立即崩溃。我试图将ListAdapter的数据类型更改为ArrayList,但这并没有解决问题 我的ListAdapter代码: class DeviceListAdapter extends ArrayAdapter<Device> { public DeviceLi

各位晚上好,

我正在开发一个android应用程序,我有一个(自定义)ListView和一个自定义ListAdapter。当我试图通过调用ListAdapter上的
.add()
将数据添加到ListView时,应用程序立即崩溃。我试图将ListAdapter的数据类型更改为ArrayList,但这并没有解决问题

我的ListAdapter代码:

class DeviceListAdapter extends ArrayAdapter<Device> {

public DeviceListAdapter(Context context, Device[] data) {
    super(context, R.layout.device_row, data);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater li = LayoutInflater.from(getContext());
    View cv = li.inflate(R.layout.device_row, parent, false);

    Device dataItem = getItem(position);
    TextView nameTextView = (TextView)cv.findViewById(R.id.nameTextView);
    //TextView statusTextView = (TextView)cv.findViewById(R.id.statusTextView);
    ImageView screenImageView = (ImageView)cv.findViewById(R.id.screenImageView);

    nameTextView.setText((String)dataItem.Name);
    Picasso.with(getContext()).load((String)dataItem.ImageUrl).into(screenImageView);

    return cv;
}
编辑:对代码做了一些更改,现在使用自定义设备类而不是对象[]

而不是

arad.add(devices.toArray());
试试看


我从未像这样使用过适配器,我认为您应该在代码中添加名为
data
的数组,然后通知适配器

data.add("Item X");//data.addAll(devices.toArray());
data.add("Item Y");
arad.notifyDataSetChanged(); 

什么是
设备
?你能添加代码吗?错误是什么?????
arad.add(devices.toArray());
arad.addAll(devices.toArray());
data.add("Item X");//data.addAll(devices.toArray());
data.add("Item Y");
arad.notifyDataSetChanged();