2015-04-02 92 views
1

)我需要您的帮助了。 我试了2个小时来解决这个问题,我搜索了很多,并寻找类似的问题。我发现很多,但没有任何工作。添加适配器后,Android Spinner保持空白

这是我的问题: 我从“植物”的ArrayList填充微调器。 然后我设置一个适配器到这个微调,最后是一个OnItemSelectedListener。 当我打开活动时,微调器是空的。但他一定做了任何事情,因为当我回到主屏幕并再次打开应用程序(通过图标而不是任务管理器)时,微调器被正确填充。 我不能只是重新加载活动的原因的话,我陷入无限循环:( 我认为微调重装谈到OnStart方法之后。但我不知道现在该怎么去:(

继承人的我代码:

*公共类entscheidungsbaum扩展活动实现OnItemSelectedListener {

private Spinner spAlter= null; 
private Spinner spArt= null; 
private Spinner spBlaetterrand= null; 
private Spinner spBlaetterForm= null; 
private Spinner spBlueten= null; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.entscheidungsbaum); 

    final Activity activity = this; 
    activity.setTitle("Pflanze eintragen"); 

    spAlter = (Spinner)this.findViewById(R.id.spAlter); 
    spArt = (Spinner)this.findViewById(R.id.spArt); 
    spBlaetterrand = (Spinner)this.findViewById(R.id.spBlaetterrand); 
    spBlaetterForm = (Spinner)this.findViewById(R.id.spBlaetterform); 
    spBlueten = (Spinner)this.findViewById(R.id.spBlueten); 
    FillSpinner(); 



} 


@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
} 
@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    super.onResume(); 
} 

public void onButtonClick (View Click) { 
    switch(Click.getId()){ 
    default: return; 
    case R.id.weiter: 
     startActivity(new Intent(this, formular.class)); 
     return; 
    } 
} 

public void FillSpinner(){ 

    Bundle extras = getIntent().getBundleExtra("plantbundle"); 
    ArrayList<Plant> plantlist = extras.getParcelableArrayList("plant"); 


    ArrayAdapter<Plant> spinnerArrayAdapter = new ArrayAdapter<Plant>(this, android.R.layout.simple_spinner_item,plantlist); 
    spAlter.setAdapter(spinnerArrayAdapter); 

    spAlter.setOnItemSelectedListener(this); 



} 
@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, 
     long id) { 
    Plant plant = (Plant)spAlter.getSelectedItem(); 
    // Anzeigen 
    toast_selec_plant(plant); 

} 
private void toast_selec_plant(Plant plant) { 
    Toast.makeText(this, "Pflanze ausgewählt:" + plant.toString(), Toast.LENGTH_SHORT).show(); 
} 
@Override 
public void onNothingSelected(AdapterView<?> parent) { 
    // TODO Auto-generated method stub 

} 

} *

伊迪丝发现: ,我得到的FR的plantlist嗡嗡的意图是空的,这就是为什么纺纱人员也是空着的。 但是,当我走出应用程序,并再次进入它的作品。奇怪。如果您有任何提示,欢迎您)

回答

1

好吧,伙计们。我知道了。 我现在可以结束这个独白。 只是为了告诉感兴趣的人我的失败是什么:

在这个类给植物Arraylist的entscheidungsbaum.class意图是失败。我有一个Arraylist变量定义在类的顶部,并在一个额外的方法中填充它。 但是,如果没有刷新活动,Arraylist保持空白状态直到刷新。 所以我刚刚删除了变量定义并重写了给ArrayList返回的方法。之后,我直接将它发送给我的entscheidungsbaum.class。它的工作原理;)

感谢无论如何球员,你可以删除或冻结这个问题:)