Android SeparatedListAdapter-如何使用自定义对象作为列表项?

Android SeparatedListAdapter-如何使用自定义对象作为列表项?,android,Android,我有一个名为Employee的基本对象。您可以使用.getName()和.getId()检索员工的姓名和id 我想使用Jeff Sharkey的SeparatedListAdapter构建一个分段列表。但是,对于列表项,我需要为这些项使用自定义Employee对象,而不仅仅是字符串列表 在包含的SeparatedListAdapter示例中,他使用ArrayAdapter和SimpleAdapter()填充列表 有没有办法使用自定义对象/类,比如我的Employee类?我需要这样做的原因是,当我

我有一个名为
Employee
的基本对象。您可以使用
.getName()
.getId()
检索员工的姓名和id

我想使用Jeff Sharkey的SeparatedListAdapter构建一个分段列表。但是,对于列表项,我需要为这些项使用自定义Employee对象,而不仅仅是字符串列表

在包含的SeparatedListAdapter示例中,他使用
ArrayAdapter
SimpleAdapter()
填充列表

有没有办法使用自定义对象/类,比如我的Employee类?我需要这样做的原因是,当我单击列表中的某个项目时,我想检索我用于该项目的实际Employee对象,然后检索员工的ID,以便显示与该员工相关的信息


我对如何正确使用适配器有点困惑。我应该制作自己的适配器吗?

您需要实现自定义适配器。例:

class CustomAdapter extends ArrayAdapter<Employee>
编辑: 使用CustomAdapter中的getView方法创建包含员工信息的视图。像这样:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view;
        if(convertView == null){
            view = convertView;
        }else
            view = mInflater.inflate(R.layout.your_row, null);

        Employee e = getItem(position);

        ((TextView)view.findViewById(R.id.textview_id)).setText(e.getId());
        //...

        return view;
    }

为什么不使用BaseAdapter呢?根据您的需求,它是最好的。BaseAdapter非常适合您的情况。好的,我在哪里定义ListView中每个项目显示的文本?试试上面的例子。好教程:
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view;
        if(convertView == null){
            view = convertView;
        }else
            view = mInflater.inflate(R.layout.your_row, null);

        Employee e = getItem(position);

        ((TextView)view.findViewById(R.id.textview_id)).setText(e.getId());
        //...

        return view;
    }