我有两个旋转器,一个用于用户选择食物类型,第二个用于显示食物(例如早餐和粥)。然而,我的第二个旋转器没有显示我的食物。为什么会出现这样的情况呢?下面是我的 MainActivity 类和 Food 类代码。
private void chooseBreakfast() {
planspinner1 = (Spinner) findViewById(R.id.planspinner);
List<Food> planlist = new ArrayList<Food>();
planlist.add(new Food("Porridge-35g/140cal",4));
planlist.add(new Food("Coffee-10g/10cal",1));
planlist.add(new Food("Toast-30g/90cal",3));
for(int i =0;i<planlist.size();i++){
System.out.println(planlist.get(i).getName()+ "has" + planlist.get(i).getCalories()+ "calories.");
}
ArrayAdapter<Food> planAdapter1 = new ArrayAdapter<Food>(this,android.R.layout.simple_spinner_item, planlist);
planAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
planspinner1.setAdapter(planAdapter1);
}
public class Food {
private String mstrName;
private int mintCalories;
public Food(String pstrName, int pintCalories) {
mstrName = pstrName;
mintCalories = pintCalories;
}
public String getName() {
return mstrName;
}
public int getCalories() {
return mintCalories;
}
}
为什么我的第二个旋转器会出现这样的情况?
最佳答案
重写 Food 类的 toString() 方法,它可能会起作用。
public class Food {
private String mstrName;
private int mintCalories;
public Food(String pstrName, int pintCalories) {
mstrName = pstrName;
mintCalories = pintCalories;
}
public String getName() {
return mstrName;
}
public int getCalories() {
return mintCalories;
}
public String toString() {
return getName();
}
}
关于java - 微调器不显示条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431467/