Vis*_*att 2 android list spinner android-spinner
我正在从托管的移动服务客户端检索自定义对象列表Azure Cloud,现在我想将此类的一个属性绑定到客户端中的Spinner控件Android.
正如下面我的代码,我有一个List<Departement>从Azure的移动服务来了,我要绑定DepartmentName的这个Spinner在Android客户端.
public class Department
{
public int ID;
public String DepartmentName;
}
Run Code Online (Sandbox Code Playgroud)
任何建议都非常感谢
你可以:
toString()自定义对象中的覆盖方法,以根据您的自定义属性返回
正常值
public class Department
{
public int ID;
public String DepartmentName;
@Override
public String toString() {
return DepartmentName;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你看来
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);
}
Run Code Online (Sandbox Code Playgroud)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);
}
Run Code Online (Sandbox Code Playgroud)最后但并非最不重要的是,使用您自己的适配器BaseAdapter而不是使用通用ArrayAdapter,它将拥有自定义对象列表并为您的微调器提供视图.