Browse Source

Merge pull request #18 from henninghall/bugfix/locale-date-mode-crash

Bugfix: Crashes on date mode for some locales.
master
Henning Hall 7 years ago
committed by GitHub
parent
commit
b0cd7d4122
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 9 deletions
  1. +10
    -9
      android/src/main/java/com/henninghall/date_picker/WheelOrderUpdater.java

+ 10
- 9
android/src/main/java/com/henninghall/date_picker/WheelOrderUpdater.java View File

@ -20,25 +20,26 @@ public class WheelOrderUpdater
}
public void update(final Locale locale, final Mode mode) {
if (mode != Mode.date) {
return;
}
if (mode != Mode.date) return;
String lastYmdPattern = ymdPattern;
ymdPattern = Utils.localeToYmdPattern(locale);
if(lastYmdPattern.equals(ymdPattern)) return;
final ArrayList<Wheel> wheelOrder = this.ymdPatternToWheelOrder(ymdPattern);
wheelOrder.get(0).picker.setLayoutParams(getDefaultLayoutParams());
this.placeWheelRightOf(wheelOrder.get(0), wheelOrder.get(1));
this.placeWheelRightOf(wheelOrder.get(1), wheelOrder.get(2));
}
private void placeWheelRightOf(final Wheel leftWheel, final Wheel rightWheel) {
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(-2, Utils.getWheelHeight((View)this.pickerView));
final RelativeLayout.LayoutParams params = getDefaultLayoutParams();
params.addRule(1, leftWheel.id);
if (Build.VERSION.SDK_INT >= 17) {
params.addRule(17, leftWheel.id);
}
rightWheel.picker.setLayoutParams((ViewGroup.LayoutParams)params);
if (Build.VERSION.SDK_INT >= 17) params.addRule(17, leftWheel.id);
rightWheel.picker.setLayoutParams(params);
}
private RelativeLayout.LayoutParams getDefaultLayoutParams(){
return new RelativeLayout.LayoutParams(-2, Utils.getWheelHeight(this.pickerView));
}
private ArrayList<Wheel> ymdPatternToWheelOrder(final String ymdPattern) {

Loading…
Cancel
Save