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;
}