Spinner not display entries

问题描述:

我有两个旋转器,一个用户选择食物类型,另一个用来显示食物(例如早餐和粥)。然而,我的第二个微调不显示我的食物。为什么会出现?以下是我的MainActivity类和我的食物类代码。Spinner not display entries

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

为什么我的第二个微调框会出现这样? Why would my second spinner appear like this

重写你的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(); 
    } 

} 
+0

这工作完美,非常感谢! – NicolaBA 2015-02-10 12:25:30

+0

如果它工作,标记它正确和upvote将是伟大的。 :d – 2015-02-10 12:27:37