Проект форматирования даты Mobile Flex

#flash #apache-flex #mobile #adobe

#flash #apache-flex #Мобильный #adobe

Вопрос:

У меня есть мобильное приложение, которое получает rss-канал. Дата в rss-ленте отображается Пт, 28 Окт 2011 17:30:00 по Гринвичу, и я бы хотел, чтобы она отображалась как короткая дата в стандарте времени cst dd / mm / yyyy и времени. Код для моего приложения приведен ниже. любая помощь была бы очень полезна Это первый случай работы с Adobe Flash Builder.

 <?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:ns1="*"
        backgroundColor="#74171E" title="Mediacom 2 / Paulbunyan 32"
        viewActivate="refresh()">

    <fx:Script>
        <![CDATA[
            protected function getData():void
            {
                getDataResult.token = iCTVChannel232.getData();
            }
            public function refresh(): void {
                getData();
            } 
        ]]>


    </fx:Script>

    <fx:Declarations>
        <s:CallResponder id="getDataResult"/>
        <ns1:ICTVChannel232 id="iCTVChannel232"/>
    </fx:Declarations>
    <s:DataGrid id="dataGrid" left="10" right="10" top="10" bottom="10">
        <s:columns>
            <s:ArrayList>
                <s:GridColumn dataField="pubDate" width="65" headerText="Date"></s:GridColumn>
                <s:GridColumn dataField="title" headerText="Title"></s:GridColumn>
            </s:ArrayList>
        </s:columns>
        <s:AsyncListView list="{getDataResult.lastResult}"/>

    </s:DataGrid>
    <s:actionContent>
        <s:Button icon="@Embed('/assets/refreshico.png')"
                  click="Object(navigator.activeView).refresh()"/>
    </s:actionContent>

</s:View>
  

Ответ №1:

чтобы получить дату, я думаю, я бы сделал что-то вроде этого (по общему признанию, это может быть не лучший способ!):

 //Making the Strings
private var getFeed:String = somehowGetRSSFeed();

private var theDateString:String = getMonth()  
                                "/"   
                           getDay()   
                                "/"                                    
                           getYear();

//gets the month from the position of 9 and out to three places and make it a number
public function getMonth()
{
    switch(getFeed.substr(9, 3).toUpper())
    {
        case "JAN"
        {
            return "01";
        }
        .
        .
        .
        case "DEC"
        {
            return "12";
        }

    }
}

public function getDay()
{
    return getFeed.substr(5, 2);
}

public function getYear()
{
    return getFeed.substr(12, 4);
}
  

Я думаю, это сработает. Вам пришлось бы вносить изменения там, где я делал ярлыки, но я думаю, вы можете это понять.

Кроме того, я не уверен, что я действительно установил правильную позицию для строк, поэтому вам, возможно, придется их изменить.

Комментарии:

1. Я в недоумении от этого, я попытался добавить код в <fx:Script>, и он повсюду выдает ошибки. Имейте в виду, что я новичок в Flex mobile и нуждаюсь в помощи.

2. У меня также есть настройка списка с тем же каналом, но по-прежнему проблема с датой. Я пробовал это 2 способами.