微调器不显示条目

Spinner not displaying entries

我有两个微调器,一个供用户选择食物类型,另一个用于显示食物(例如早餐和粥)。但是我的第二个微调器没有显示我的食物。为什么会出现这个?下面是我的 MainActivity class 和我的 Food class 代码。

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 class 的 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();
    }

}