2016-03-31 11 views
1

Bazı veri kaynağına göre farklı günlere vb. Metinler ekleyebilmek, metin ekleyebilmek için Codename One'da özel takvim oluşturmaya çalışıyorum. Varsayılan takvim herhangi bir veri kaynağına sahip değil - muhtemelen farklı işlevler içeren Takvim yerine Tarih Seçici olması daha olasıdır.Codename One'daki özel takvim One

İlk yaklaşımım varsayılan Takvimi genişletmek ve updateButtonDayDate yöntemini geçersiz kılmaktı. Bazı olumsuzluklar verir - metin veya diğer şeyleri değiştirebilirim. Ne yazık ki updateButtonDayDate Takvim kurucusunda çağrılır, böylece temel takvimden önce özel takvimi başlatmak imkansızdır. Takvimi yapıcısını çağırır ve updateButtonDayDate'i çalıştırır (bytecode manipulation bir cevap değildir).

İkinci düşüncem, başlatma sırasında gün öğelerine farklı UIID ayarlamaktı. Ne yazık ki, UIID tarafından element bulmamı sağlayan herhangi bir yöntem görmüyorum.

Codename One Takvim'de gün seçmek, veri kaynağına dayalı olarak gün açıklamasını ayarlamak mümkün mü? Ya da tüm bu işlevleri içerecek olan kendi bileşenimi yaratmalı mıyım? herhangi bir yardım :)

cevap

0

için

Teşekkür Evet orijinal Calendar sınıf şeyden daha bir tarih seçici olarak tasarlandı.

setName() ya da alt kategorideki her gün bileşenine bir referans tutun, böylece söz konusu referansı doğrudan değiştirebilirsiniz. Map<Date, Button>.

Kodun başlangıç ​​noktası olarak alınabileceğini ve gereksinimlerinize göre değiştirebileceğinize dikkat edin; Calendar, Codename One'dan önce gelen GERÇEKTEN eski bir bileşen olduğundan, iyi bir mühendisliğin mükemmel bir örneğidir. yaygın olarak kullanılmadığından, kodun geri kalanı modernleşmenin tadını çıkarmadı. Çoğu geliştiricinin bir seçiciye ihtiyacı vardır ve bunun için Picker bileşeni daha iyi bir alternatif sunar.