Радиокруппа ZK возвращает неправильный getSelectedIndex ()

Как видно из этой ссылки на их сайте (http://james.newtonking.com/archive/2009/10/23/efficient-json-with-json-net-reducing-serialized-json-size. aspx) Я поддерживаю использование [Default ()] для указания значений по умолчанию

Взято из ссылки

   public class Invoice
{
  public string Company { get; set; }
  public decimal Amount { get; set; }

  // false is default value of bool
  public bool Paid { get; set; }
  // null is default value of nullable
  public DateTime? PaidDate { get; set; }

  // customize default values
  [DefaultValue(30)]
  public int FollowUpDays { get; set; }
  [DefaultValue("")]
  public string FollowUpEmailAddress { get; set; }
}


Invoice invoice = new Invoice
{
  Company = "Acme Ltd.",
  Amount = 50.0m,
  Paid = false,
  FollowUpDays = 30,
  FollowUpEmailAddress = string.Empty,
  PaidDate = null
};

string included = JsonConvert.SerializeObject(invoice,
  Formatting.Indented,
  new JsonSerializerSettings { });

// {
//   "Company": "Acme Ltd.",
//   "Amount": 50.0,
//   "Paid": false,
//   "PaidDate": null,
//   "FollowUpDays": 30,
//   "FollowUpEmailAddress": ""
// }

string ignored = JsonConvert.SerializeObject(invoice,
  Formatting.Indented,
  new JsonSerializerSettings { DefaultValueHandling = DefaultValueHandling.Ignore });

// {
//   "Company": "Acme Ltd.",
//   "Amount": 50.0
// }
0
задан gooamoko 16 January 2019 в 08:50
поделиться

1 ответ

Я упрощаю ваш код, и он всегда получает правильный выбранный индекс.

    public class FiltrationModePopup extends Popup implements AfterCompose, IdSpace {
        private Radiogroup rgScrollerMode;

        @Override
        public void afterCompose() {
            rgScrollerMode = (Radiogroup) getFellow("rgScrollerMode");
            final Button okButton = (Button) getFellow("okButton");
            okButton.addEventListener(Events.ON_CLICK, new SerializableEventListener<Event>() {
                @Override
                public void onEvent(Event event) {
                    System.out.println(rgScrollerMode.getSelectedIndex());
                    close();
                }
            });
            addForward(Events.ON_OK, okButton, Events.ON_CLICK);
        }
    }

Вам необходимо отследить, что происходит, прежде чем позвонить getSelectedIndex(). Вы можете закомментировать коды в слушателе onClick и постепенно добавлять коды построчно, чтобы выяснить причину.

0
ответ дан Hawk 16 January 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: