gpt4 book ai didi

android - 如何将自定义类 List 的属性绑定(bind)到 Android 中的 Spinner?

转载 作者:太空狗 更新时间:2023-10-29 16:05:13 24 4
gpt4 key购买 nike

我正在从 Azure Cloud 中托管的移动服务客户端检索自定义对象列表,现在我想将此类的属性之一绑定(bind)Spinner控制在 Android客户。

作为我下面的代码,我有一个 List<Departement>来自 Azure 移动服务,我想将 DepartmentName 绑定(bind)到这个 Spinner在 Android 客户端中。

public class Department
{
public int ID;
public String DepartmentName;
}

非常感谢任何建议

最佳答案

您可以:

  1. 覆盖 toString()自定义对象中的方法根据您的自定义返回良好的值(value)属性(property)

    public class Department
    {
    public int ID;
    public String DepartmentName;

    @Override
    public String toString() {
    return DepartmentName;
    }
    }

    然后在你看来

    public void populateSpinner(Context context, List<Department> departments, Spinner spinner)
    {
    ArrayAdapter<Department> adapter = new ArrayAdapter<Department>(context, android.R.layout.simple_spinner_item, departments);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    }
  2. 创建临时 List<String>用于您的微调器适配器

    public void populateSpinner(Context context, List<Department> departments, Spinner spinner)
    {
    List<String> list = new ArrayList<String>();
    for(Department dep : departments) {
    list.add(dep.DepartmentName);
    }

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item, list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    }
  3. 最后但同样重要的是,使用您自己的基于 BaseAdapter 的适配器而不是使用通用的 ArrayAdapter ,它将拥有自定义对象列表并为您的微调器提供 View 。

关于android - 如何将自定义类 List 的属性绑定(bind)到 Android 中的 Spinner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318807/

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