gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 18:17:07 26 4
gpt4 key购买 nike

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

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

在包含的 SeparatedListAdapter 示例中,他使用了 ArrayAdapter<String>和一个 SimpleAdapter()用于填充列表。

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

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

最佳答案

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

class CustomAdapter extends ArrayAdapter<Employee>

以及在 SeparatedListAdapter 上使用它时:

CustomAdapter workersAdapter = new CustomAdapter(this, resourceID, workersList);
SeparatedListAdapter separated = new SeparatedListAdapter(this);
...
separated.addSection("Workers", workersAdapter);

编辑:重写 CustomAdapter 中的 getView 方法以创建包含员工信息的 View 。像这样:

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

关于Android SeparatedListAdapter - 如何使用自定义对象作为列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7532662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com