2016-07-05 4 views
0

Ich baue ein eigenes modal in appcelerator studio.Wie kann ich Daten in TextField von DatePicker setzen

Also das ist der Code:

<Alloy> 
    <Window id="modal_add_edit" onClose="cleanup" modal="true"> 
     <View class="container"> 
      <Label id="title" class="title"/> 
      <View class="separator"></View> 

      <TableView id="table" height="Titanium.UI.SIZE" layout="vertical">       
        <TableViewRow class="menu_item" top="25"> 
         <Label id="description" class="label" left="12" /> 
         <Picker id="comboDecription" left="20" selectionIndicator="true"> 
          <PickerColumn id="column1"> 
           <PickerRow title="Esposizione Tossica"/> 
           <PickerRow title="Stato civile"/> 
           <PickerRow title="Diet"/> 
          </PickerColumn> 
         </Picker> 
        </TableViewRow> 

        <!-- flags --> 
        <TableViewRow id="data" class="menu_item" top="25"> 
         <!--DATA START--> 
         <Label id="start_date" class="label" left="12" /> 
         <TextField id="textStartDate" class="field" 
          width="200px"></TextField> 
        </TableViewRow> 



      </TableView> 

      <View class="separator"></View> 
      <TableView id="tableButton" width="Titanium.UI.FILL" layout="horizontal">       
        <TableViewRow class="menu_item" top="25"> 
         <Button id="buttonClose" class="buttonClose" onClick="onClose" ></Button> 
         <Button id="buttonSave" class="buttonSave"></Button> 
        </TableViewRow> 
      </TableView> 
     </View> 
    </Window> 
</Alloy> 

Deshalb möchte ich, dass, wenn der Benutzer auf textStartdate, die Datepicker zeigt. Dies ist der Code meiner Controller:

var picker = Ti.UI.createPicker({}); 
$.textStartDate.addEventListener('click', function(e) { 
    picker.showDatePickerDialog({ 
     value : new Date(), // some date 
     callback : function(e) { 
      if (e.cancel) { 
       Ti.API.info('user canceled dialog'); 
      } else { 
       selectedDate = e.value; 
       $.textStartDate.setValue(String.formatDate(selectedDate, 'medium')); 
      } 
     } 
    }); 
}); 

Dann, wenn ich versuche, auf textStartDate zu klicken, kann ich sehen, die Datepicker, dann stelle ich die Daten, klicken Sie auf OK, um aber ich kann die Daten auf textStartDate nicht angezeigt werden .

Wenn ich im Debug versuchen, den Code:

String.formatDate(selectedDate, 'medium') 

Rückkehr die richtigen Daten, aber ich kann es auf meinem EditText nicht sehen

bearbeiten ich hinzufügen, der Bildschirm gedreht

enter image description here

ist dies die Klasse des Feldes in app.tss

".field": { 
    left: "5%", 
    width: Titanium.UI.FILL, 
    borderRadius: 5, 
    hintTextColor: "#aaa", 
    color: "#333", 
    backgroundColor: "white" 
} 

Antwort

1

Wie Sie gesagt haben, dass String.formatDate(selectedDate, 'medium') richtigen Daten zurückkehrt, aber das Datum nicht sehen kann, kann ich so denke, dass es das Problem mit Ihrem Text-Feld Farbeigenschaften sein könnten. Ich schlage vor, Sie noch Farbe und background zu setzen

Stellen Sie sicher, dass Sie die Farbe Eigenschaft auf andere als das Textfeld Backgroundcolor festgelegt haben, oder wenn Sie keine solche Eigenschaft festgelegt haben, dann Eigenschaften und einige Standardwerte, um sicherzustellen, dass Ihr Textwert im Textfeld richtig angezeigt wird.

Je nach Thema oder Betriebssystemtyp kann die Standardtextfarbe & backgroundColor-Kombinationen gleich sein, wodurch der Textwert unsichtbar wird.

+0

diese Zeichenfolge, die richtige Zeichenfolge zurück, aber wenn ich versuche, "pippo" einzustellen, ist das gleiche. Die Hintergrundfarbe des Textfelds unterscheidet sich von der Farbe des Texts. – bircastri

+0

Können Sie dies bestätigen, indem Sie die Eigenschaft default value auf irgendetwas setzen und den Screenshot freigeben? oder teilen Sie einfach etwas Code, damit ich es hier überprüfen kann –

+0

Ok einen Moment und ich teile den Screenshot. Aber wenn ich versuche, auf Debug zu gehen, nach dem Code, wo ich den Wert von textStartdate setze, Wenn ich versuche, auf textStartdate zu überprüfen, ist der Wert korrekt, aber es ist nicht zeigen – bircastri