Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自定义ArrayList到微调器_Java_Android_Arraylist_Spinner - Fatal编程技术网

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