Java 自定义ArrayList到微调器
我希望将我的Java 自定义ArrayList到微调器,java,android,arraylist,spinner,Java,Android,Arraylist,Spinner,我希望将我的ArrayList中的每个名称都放入arrayadapter或微调器中 我有一个ArrayList类型 类型类别: public class Type{ int id; String name; public Type(int id, String name) { this.id = id; this.name = name; } } 我还有一个微调器,现在我想在微调器中输入arraylist中的所有名称 但是如果我从微调器中
ArrayList
中的每个名称都放入arrayadapter或微调器中
我有一个ArrayList类型
类型
类别:
public class Type{
int id;
String name;
public Type(int id, String name) {
this.id = id;
this.name = name;
}
}
我还有一个微调器
,现在我想在微调器中输入arraylist中的所有名称
但是如果我从微调器中选择一个名称,我还想知道该名称的id是什么
任何知道这是否可行的人?当用户单击该项目时,您将得到如下方法的回调:
public void onListItemClick(ListView l, View v, int position, long id);
适配器接口指定可用于获取对象的方法。在您的例子中,用户单击的项目是一个“类型”对象
类似这样的方法会奏效:
Adapter adapter = listView.getAdapter(); // somehow obtain your adapter
Type item = (Type) adapter.getItem(position);
int id = item.id;
当您从
微调器获得onimselected
回调时,当一个项目被选中时,它会向您的ArrayList提供索引,您可以使用该索引查找所选的类型。覆盖自定义ArrayAdapter
中的getItemId(int位置)
调用OnItemClickListener#onItemClick()
时,它将传递您的id
public void onListItemClick(ListView l, View v, int position, long id){
doSomethingWithYourType(id);
}
我在我的类中添加了这个Type
public String toString() {
return id;
}
并将列表设置为ArrayAdapter
ArrayAdapter<Type> adapter = new ArrayAdapter<Type>(Checklist.this, android.R.layout.simple_spinner_item, types);
spinner.setAdapter(adapter);
//this Logs the correct id (:
Log.e("test", String.valueOf(types.get(spinner.getSelectedItemPosition()).id));
ArrayAdapter=新的ArrayAdapter(Checklist.this,android.R.layout.simple\u spinner\u项,类型);
旋转器。设置适配器(适配器);
//这将记录正确的id(:
Log.e(“test”,String.valueOf(types.get(spinner.getSelectedItemPosition()).id));
ArrayAdapter<Type> adapter = new ArrayAdapter<Type>(Checklist.this, android.R.layout.simple_spinner_item, types);
spinner.setAdapter(adapter);
//this Logs the correct id (:
Log.e("test", String.valueOf(types.get(spinner.getSelectedItemPosition()).id));