r44 - in trunk/src/fr/ifremer/wlo: measurement utils
Author: kmorin Date: 2014-02-04 14:59:04 +0100 (Tue, 04 Feb 2014) New Revision: 44 Url: http://forge.codelutin.com/projects/wlo/repository/revisions/44 Log: fixes #4315 Les dates dans les formulaires ne sont plus affich?\195?\169es tant qu'on ne d?\195?\169finit pas de format dans la configuration fixes #4308 L'?\195?\169cran des mensuration ne s'affiche pas apr?\195?\168s saisie de l'esp?\195?\168ce scientifique Modified: trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java trunk/src/fr/ifremer/wlo/utils/BaseModelArrayAdapter.java trunk/src/fr/ifremer/wlo/utils/UIUtils.java Modified: trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java 2014-01-30 17:54:19 UTC (rev 43) +++ trunk/src/fr/ifremer/wlo/measurement/MeasurementActivity.java 2014-02-04 13:59:04 UTC (rev 44) @@ -70,6 +70,7 @@ import fr.ifremer.wlo.models.VesselModel; import fr.ifremer.wlo.models.referentials.Gender; import fr.ifremer.wlo.storage.WloSqlOpenHelper; +import fr.ifremer.wlo.utils.BaseModelArrayAdapter; import fr.ifremer.wlo.utils.BaseTextWatcher; import fr.ifremer.wlo.utils.UIUtils; import org.apache.commons.lang3.ObjectUtils; @@ -222,23 +223,23 @@ Spinner genderSpinner = (Spinner) findViewById(R.id.gender_spinner); genderSpinner.setOnItemSelectedListener(this); - List<Gender> genders = Lists.newArrayList(DataCache.getAllGenders(this)); - genders.add(0, null); - ArrayAdapter<Gender> gendersAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, genders); + List genders = Lists.newArrayList(DataCache.getAllGenders(this)); + genders.add(0, ""); + ArrayAdapter gendersAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, genders); genderSpinner.setAdapter(gendersAdapter); Spinner maturitySpinner = (Spinner) findViewById(R.id.maturity_spinner); maturitySpinner.setOnItemSelectedListener(this); - List<Maturity> maturities = Lists.newArrayList(DataCache.getAllMaturities(this)); - maturities.add(0, null); - ArrayAdapter<Maturity> maturitiesAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, maturities); + List maturities = Lists.newArrayList(DataCache.getAllMaturities(this)); + maturities.add(0, ""); + ArrayAdapter maturitiesAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, maturities); maturitySpinner.setAdapter(maturitiesAdapter); Spinner ageSpinner = (Spinner) findViewById(R.id.age_spinner); ageSpinner.setOnItemSelectedListener(this); - List<Age> ages = Lists.newArrayList(DataCache.getAllAges(this)); - ages.add(0, null); - ArrayAdapter<Age> agesAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, ages); + List ages = Lists.newArrayList(DataCache.getAllAges(this)); + ages.add(0, ""); + ArrayAdapter agesAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, ages); ageSpinner.setAdapter(agesAdapter); initFishMeasurement(10 * measurements.getPrecision().getUnitDivider(), null, null, null); @@ -329,8 +330,13 @@ @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { - BaseModel selected = (BaseModel) adapterView.getItemAtPosition(i); - String id = selected != null ? selected.getId() : null; + String id; + if (i == 0) { + id = null; + } else { + BaseModel selected = (BaseModel) adapterView.getItemAtPosition(i); + id = selected != null ? selected.getId() : null; + } switch(adapterView.getId()) { case R.id.gender_spinner: measurement.setCategory1(id); @@ -346,6 +352,17 @@ @Override public void onNothingSelected(AdapterView<?> adapterView) { + switch(adapterView.getId()) { + case R.id.gender_spinner: + measurement.setCategory1(null); + break; + case R.id.maturity_spinner: + measurement.setCategory2(null); + break; + case R.id.age_spinner: + measurement.setCategory3(null); + break; + } } /* Public methods */ Modified: trunk/src/fr/ifremer/wlo/utils/BaseModelArrayAdapter.java =================================================================== --- trunk/src/fr/ifremer/wlo/utils/BaseModelArrayAdapter.java 2014-01-30 17:54:19 UTC (rev 43) +++ trunk/src/fr/ifremer/wlo/utils/BaseModelArrayAdapter.java 2014-02-04 13:59:04 UTC (rev 44) @@ -176,7 +176,9 @@ M item = getItem(position); String s; - if (toStringFunction != null) { + if (item == null) { + s = ""; + } else if (toStringFunction != null) { s = toStringFunction.apply(item); } else { s = item.toString(getContext()); Modified: trunk/src/fr/ifremer/wlo/utils/UIUtils.java =================================================================== --- trunk/src/fr/ifremer/wlo/utils/UIUtils.java 2014-01-30 17:54:19 UTC (rev 43) +++ trunk/src/fr/ifremer/wlo/utils/UIUtils.java 2014-02-04 13:59:04 UTC (rev 44) @@ -3,8 +3,8 @@ /* * #%L * WLO - * $Id:$ - * $HeadURL:$ + * $Id$ + * $HeadURL$ * %% * Copyright (C) 2013 - 2014 Ifremer * %% @@ -108,7 +108,8 @@ public static String getDateFormat(Context context) { SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context); - String dateFormat = sharedPref.getString(ListItemPreference.DATE_FORMAT.getKey(), ""); + String defaultFormat = context.getResources().getStringArray(ListItemPreference.DATE_FORMAT.getValuesArrayId())[0]; + String dateFormat = sharedPref.getString(ListItemPreference.DATE_FORMAT.getKey(), defaultFormat); return dateFormat; }
participants (1)
-
kmorin@users.forge.codelutin.com