Search code examples
titaniumappceleratortitanium-mobiletitanium-alloy

in titanium alloy how to select row from picker


i have edit profile page with gender picker that have two picker rows (as one should expect...) male and female. i want to change the selected row according to data that i load from an API. this is my view.xml

<Picker id="genderPicker">
    <PickerRow title="Male"></PickerRow>
    <PickerRow title="Female"></PickerRow>
</Picker>

style.tss

"Picker": {
      top: 2,
      bottom: 2,
      left: 110,
      width: 120,
      height: 50,
      backgroundColor: '#666',
      selectionIndicator: true
    }

    "PickerRow": {
      color: '#fff'
    }

controller.js

    if (gender == 'm') {
        Ti.API.info('g-m');
        $.genderPicker.setSelectedRow(0, 0, false);
    } else {
        Ti.API.info('g-f');
        $.genderPicker.setSelectedRow(0, 1, false);
    }

i get the value of the gender and according to it i set the selected row but nothing happen.


Solution

  • The first index of row is 0 not 1

     if (gender == 'm') {
        Ti.API.info('g-m');
        $.genderPicker.setSelectedRow(0, 0, false);
    } else {
        Ti.API.info('g-f');
        $.genderPicker.setSelectedRow(0, 1, false);
    }