2012-09-02 12 views
7

Ich versuche, die Werte für meine Spinner aus einem String-Array in einem meinem Fragmente im onCreateView in meinem zu setzen public final class Manual extends Fragment:Einstellung Spinner in Fragmente

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View v = inflater.inflate(R.layout.manual, container, false); 

    String [] values = 
     {"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",}; 
    Spinner spinner = (Spinner) v.findViewById(R.id.spinner1); 
    ArrayAdapter<String> LTRadapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, values); 
    LTRadapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
    spinner.setAdapter(LTRadapter); 

    return inflater.inflate(R.layout.manual, container, false); 

} 

bekomme ich keine Fehler mit meinem Code, es aber setzt den Spinner nicht. Der Drehfeld bleibt leer ohne Werte. Irgendwelche Ideen, warum mein Code den Spinner nicht setzt?

Antwort

22

Das Problem war, dass ich eine neue Ansicht zurückgab, nicht die, die ich gesetzt habe. Ich musste return v; und es hat gut funktioniert.

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View v = inflater.inflate(R.layout.manual, container, false); 

    String [] values = 
     {"Time at Residence","Under 6 months","6-12 months","1-2 years","2-4 years","4-8 years","8-15 years","Over 15 years",}; 
    Spinner spinner = (Spinner) v.findViewById(R.id.spinner1); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, values); 
    adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
    spinner.setAdapter(adapter); 

    return v; 

} 
+0

gerettet den Tag !! – penduDev

+0

Ich habe buchstäblich genau den gleichen Fehler gemacht wie du, danke, dass du das gepostet hast. – Hounddog