添加适配器后,Android Spinner保持空白

时间:2015-04-02 14:09:46

标签: android spinner reload

)我再次需要你的帮助。 我试了2个小时来解决这个问题,我搜索了很多并寻找类似的问题。我找到了很多,但没有任何效果。

这是我的问题: 我从" Plants"的ArrayList中填充一个微调器。 然后我将一个适配器设置为此Spinner,最后设置一个OnItemSelectedListener。 当我打开Activity时,Spinner是空的。但他必须做任何事情,因为当我回到主屏幕并再次打开应用程序(通过图标,而不是任务管理器)时,Spinner正确填充。 我无法重新加载活动因为我陷入了无尽的循环:( 我认为Spinner在OnStart方法之后重新加载。但我现在不知道如何继续:(

Heres是我的代码:

* public class entscheidungsbaum extends Activity实现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

}

} *

伊迪丝发现: 我从意图中获得的工厂清单是空的,这也是纺纱厂也为空的原因。 但是,当我离开应用程序并再次进入它的工作。奇怪。如果您有任何提示,欢迎您;)

1 个答案:

答案 0 :(得分:1)

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

在根据意图将植物的Arraylist赋予entscheidungsbaum.class的类是失败的。我在类的顶部定义了一个Arraylist变量,并在一个额外的方法中填充它。 但是没有刷新活动,Arraylist会保持空白直到刷新。 所以我只是删除了变量定义并重新编写了方法以使arraylist返回。之后我直接将它发送到我的entscheidungsbaum.class。它有效;)

非常感谢你们,你们可以删除或冻结这个问题:)