2014-01-09 18 views
6

Ich benutze ein Rahmenwerk, um die Kommunikation in meiner Android-Anwendung zu verarbeiten; das Problem ist, wenn Ich versuche, einen Spinner zu füllen, die Adapter an den Spinner Ursache einer nicht definierte Ausnahme EinstellungAndroid Spinner Adapter Einstellung zu Spinner

Hier den Code

public void populateSpinner(TypedResponseReceivedEventArgs<String> arg1){ 
    List<String> list = new ArrayList<String>(); 
    String listf = arg1.getResponseMessage(); 
    //sendToDebug(listf); 
    StringTokenizer tokenizer = new StringTokenizer(listf,","); 
    while(tokenizer.hasMoreElements()){ 
     list.add((String)tokenizer.nextElement()); 
    } 
    //EditText text = (EditText)findViewById(R.id.number2EditText); 
    //text.setText(list.size()); 
    //text.setText(listf); 
    Spinner forfait = (Spinner)findViewById(R.id.forfaitsSpinner); 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    forfait.setAdapter(adapter); 
} 
+0

Können Sie die Ausnahme posten, die du bekommst? –

+0

Welche Art von Fehler haben Sie bekommen? Und welche Linie? – Piyush

Antwort

21

Sie this im folgenden Code sind vorbei,

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_spinner_item,list); 

, in denen nicht sicher, diesen Code sperren liegt, oder die Klasse, aber dafür sorgen, dass this-ActivityName.class oder the context bezieht sich

+1

Es ist eine Aktivität bro, ich bevölkerte den Spinner in einer Methode, die aufgerufen wird, wenn ein Ereignis ausgelöst wird, das war das Problem, das Füllen des Spinner in der doCreate() - Methode löste es, Danke! – khalil

0

Es ist sehr wahrscheinlich, weil Sie ein ArrayAdapter verwenden anstatt ein SpinnerAdapter. ArrayAdapter ist ein indirekter Implementierer der Schnittstelle SpinnerAdapter und nicht einer, der erklärt, dass er die Schnittstelle implementiert. Überprüfen Sie die nicht definierte Ausnahme. Es wird Ihnen wahrscheinlich gesagt, dass nicht für Spinner definiert ist.

+3

Sie können definitiv einen Array-Adapter mit einem Spinner Sir –

+0

verwenden :-) Ich stimme zu, dass es möglich sein sollte, aber ohne die vollständige Rückverfolgung sind wir Spekulationen überlassen. –

+0

Danke Bruder, mein Problem war, dass ich den Spinner befüllen möchte, wenn ein Ereignis ausgelöst wird, ich ändere mein Design, indem ich den Spinner in einer anderen Aktivität in der onCreate() -Methode auffüllt und zu einem anderen Layout gehört. Thnak du! – khalil