0

XLM ファイルをロードし、曜日を取得して、対応する質問をステージ上に表示する次のコード (AS3) を作成しました。

Flash でテストすると、自分のコンピューターでうまく機能します。しかし、私のGalaxy S2では、インストールされた日の今日の質問のみが表示され、新しい質問で毎日更新されません.

ここで何が欠けていますか?前もって感謝します。

XML は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<questions7>
    <question day="0"><![CDATA[Question for Sunday ]]></question>
    <question day="1"><![CDATA[Question for Monday ]]></question>
    <question day="2"><![CDATA[Question for Tuesday ]]></question>
    <question day="3"><![CDATA[Question for Wednesday ]]></question>
    <question day="4"><![CDATA[Question for Thursday ]]></question>
    <question day="5"><![CDATA[Question for Friday ]]></question>
    <question day="6"><![CDATA[Question for Saturday ]]></question>
</questions7>

そしてアクションスクリプト:

//Loads external XML file
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("questions7.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);

// Get day number of the week
var myDateDay:Date = new Date();
var dayNumber:int = myDateDay.day;

//To display question of the day
function processXML(e:Event):void {
    myXML = new XML(e.target.data);
    var question:XMLList = myXML.question.(@day == dayNumber);
        trace(question);

    var myText1:TextField = new TextField();
        myText1.text = question;
        myText1.autoSize = TextFieldAutoSize.CENTER;
        myText1.border = false;
        myText1.width = stage.stageWidth - 100;
        myText1.multiline = true;
        myText1.wordWrap = true;
        myText1.y = 200;
        myText1.x = 50; 

    // Add to stage
    addChild(myText1);
}
4

1 に答える 1

0

非アクティブ化イベントをリッスンし、アプリケーションを閉じて、アプリが新しいデータで開始されるようにすることができます

    stage.addEventListener(Event.DEACTIVATE, deactivate);


    private function deactivate(e:Event):void 
    {
        // auto-close
        NativeApplication.nativeApplication.exit();
    }

また、新しいqodを表示するために実行されることを想定しているため、コードは無効です。変更すると、アプリケーションが起動するたびにXMLをロードして解析します(ロードされたXMLへの参照を保持するか、質問のベクトルを作成します)その日を確認し、テキスト フィールドを更新します。アプリを一度開いてからバックグラウンドから移動する方が、ユーザーが電話を取りに行くなどの理由でアプリを終了するよりも優れています。これを実現するには、アクティブ化/非アクティブ化リスナーを使用し、適切にpuase/resume(update) アクションを実行します。

ここみたいに

よろしくお願いします

于 2012-09-05T12:42:48.177 に答える