gpt4 book ai didi

java - LinkedHashSet 和 Android 中的 Spinner

转载 作者:行者123 更新时间:2023-11-30 09:12:21 26 4
gpt4 key购买 nike

对于我的 android 应用程序,我有微调器提供产品类别列表供用户选择

在讨论之后:Corelating items from two arraylists in Java

我按以下方式创建了一个类别对象:

public class ItemCategory {

private int id;
private String name;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

我将所有 ItemCategories 存储在 LinkedHashSet 中,并将此 LinkedHashSet 传递给所有需要显示带有类别的微调器的 Activity 。

现在的问题是,如何使用这些 ItemCategory 对象的名称填充微调器,然后在进行选择时,我需要将 int newItemCategoryID 设置为同一 ItemCategory 对象的相应 ID?

这就是我填充微调器的方式:

public class LoadSpinnerData {
public static void loadSpinnerData(Context context, ArrayList<String> array, Spinner spinner) {

// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(context,
R.drawable.simple_spinner_item, array);

// Drop down layout style - list view with radio button
dataAdapter
.setDropDownViewResource(R.drawable.simple_spinner_dropdown_item);

// Attaching data adapter to spinner
spinner.setAdapter(dataAdapter);
}
}

这就是我将 ArrayList 传递给这个微调器的方式:

    categoriesInfo = new GetCategoriesFromDB(dbTools).execute().get(4000, TimeUnit.MILLISECONDS);
ArrayList<String> categoryNamesArray = new ArrayList<String>();
for(ItemCategory itemCategory : categoriesInfo) {
categoryNamesArray.add(itemCategory.getName());
}
LoadSpinnerData.loadSpinnerData(this, categoryNamesArray, sAddAnItemCategory);

问题是我在这里做什么:

sAddAnItemCategory.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

newItemCategoryID = ????

}

});

最佳答案

要检索位置上的元素,您可以使用 arg0.getItemAtPosition(arg2)

在您的具体情况下,它将是:

ItemCategory item = (ItemCategory) arg0.getItemAtPosition(arg2);
newItemCategoryID = item.getId();

编辑:

public class LoadSpinnerData {
public static void loadSpinnerData(Context context, ArrayList<ItemCategory> array, Spinner spinner) {

// Creating adapter for spinner
ArrayAdapter<ItemCategory> dataAdapter = new ArrayAdapter<ItemCategory>(context,
R.drawable.simple_spinner_item, array);

// Drop down layout style - list view with radio button
dataAdapter
.setDropDownViewResource(R.drawable.simple_spinner_dropdown_item);

// Attaching data adapter to spinner
spinner.setAdapter(dataAdapter);
}
}

    categoriesInfo = new GetCategoriesFromDB(dbTools).execute().get(4000, TimeUnit.MILLISECONDS);      
LoadSpinnerData.loadSpinnerData(this, categoriesInfo, sAddAnItemCategory);

关于java - LinkedHashSet<ItemCategory> 和 Android 中的 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21601441/

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