bekommen ein Problem, die Informationen von meinem Spinner und meinem Kalender zu bekommen, so habe ich es in meiner Tätigkeit eingerichtet. Ich bekomme den Toast (Ergebnis) CodeGA, CodeGD, GareA, GareD, datee alle null Was mache ich falsch?Spinner Ergebnis
private EditText DateEtxt;
private Spinner spinner1;
private Spinner spinner2;
private DatePickerDialog datePickerDialog;
private SimpleDateFormat dateFormatter;
String URl;
String GareA;
String GareD;
String CodeGD;
String CodeGA;
String datee;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_trajet);
dateFormatter = new SimpleDateFormat("dd/MM/yyyy");
dateFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
DateEtxt = (EditText) findViewById(R.id.etxt_date);
DateEtxt.setInputType(InputType.TYPE_NULL);
DateEtxt.requestFocus();
DateEtxt.setOnClickListener(this);
Calendar newCalendar = Calendar.getInstance();
datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
datee = dateFormatter.format(newDate.getTime()).toString();
DateEtxt.setText(dateFormatter.format(newDate.getTime()));
}
},newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
spinner1 = (Spinner)findViewById(R.id.spinner1);
spinner2 = (Spinner)findViewById(R.id.spinner2);
List<StringWithTag> list = new ArrayList<StringWithTag>();
list.add(new StringWithTag("AEROPORT Med V", "00190"));
list.add(new StringWithTag("OUELED RAHOU", "00672"));
list.add(new StringWithTag("OUJDA", "00490"));
list.add(new StringWithTag("OULAD KHITIB", "00262"));
list.add(new StringWithTag("Port Tanger Med", "00291"));
ArrayAdapter<StringWithTag> adapter = new ArrayAdapter<StringWithTag>(this,android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner1.setAdapter(adapter);
spinner2.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
StringWithTag s = (StringWithTag) adapterView.getItemAtPosition(i) ;
GareD = s.string.toString();
Object tag = s.tag ;
CodeGD = tag.toString();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
StringWithTag s = (StringWithTag) adapterView.getItemAtPosition(i) ;
GareA = s.string.toString();
Object tag = s.tag ;
CodeGA = tag.toString();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
URl = "http://www.oncf.ma/Pages/ResultatsHoraire.aspx?depart="+GareD+"&arrivee="+GareA+"&CodeRD=0093&CodeGD="+CodeGD+"&CodeRA=0093&CodeGA="+CodeGA+"&heure=0000&date="+datee;
}
public void onSearch (View view) {
Toast.makeText(
Trace.this, URl,Toast.LENGTH_LONG
).show();
}
@Override
public void onClick(View view) {
if(view == DateEtxt) {
datePickerDialog.show();
}
}
Ich habe eine Klasse StringWithTag jeden Spinner Element eine ID der Code dieser Klasse in Ende ist zu assoziieren
public class StringWithTag {
public String string;
public Object tag;
public StringWithTag(String stringPart,Object tagPart){
string = stringPart;
tag = tagPart;
}
@Override
public String toString(){
return string;
}
}
'' adapter' final' für diese arbeiten –
gemacht werden muss Ich nicht th Ink dies ist, wo der Fehler kam, aber die Variablen verlieren ihre Werte, wenn sie außerhalb der OnSelectedItem –