Ich verwende das eneter-Framework, um die Kommunikation in meiner Android-Anwendung zu verarbeiten. Das Problem ist, wenn ich versuche, einen Spinner zu füllen, und der Adapter auf den Spinner gesetzt wird, was zu einer undefinierten Ausnahme führt
Hier der 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);
}
sie übergeben this
im folgenden Code-Teil,
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
Android.R.layout.simple_spinner_item,list);
Nicht sicher, in welchem Block dieser Code liegt oder in welcher Klasse. Stellen Sie jedoch sicher, dassthis
auf ActivityName.class
oder the context
Dies liegt höchstwahrscheinlich daran, dass Sie eine ArrayAdapter
anstelle einer SpinnerAdapter
verwenden. ArrayAdapter
ist ein indirekter Implementierer der SpinnerAdapter
-Schnittstelle und nicht einer, der die Implementierung der Schnittstelle erklärt. Überprüfen Sie die undefinierte Ausnahme. Es wird Ihnen wahrscheinlich gesagt, dass setAdapter(ArrayAdapter)
nicht für Spinner
definiert ist.