0

高校の宿題として受験するためのインターフェースを提供するシンプルなフラッシュアプ​​リケーションを作ろうとしています。要件の1つは、XMLファイルをデータソースとして使用することです。
さて、質問の本文、質問の種類(つまり、単一選択、複数選択、オープン、画像など)、および可能な回答(該当する場合)などのデータで構成される質問を含むリストコンポーネントをXMLファイルにバインドすると、疑問に思いました。リストコンポーネントに転送するときに、各質問にいくつかの追加データ(およびそれを行うための最良の方法)を追加できます。
私はこれで2つの主な目標を達成しようとしています。1つは、ItemRendererクラスのそのようなコードのように、すでに回答が与えられている質問にマークを付けることです。

<s:Label color="{data.color}" text="{data.label}"/>

ここで、data.colorは、ユーザーが質問に回答するたびに設定されます。
第二に、その間、特定の質問に対する回答を保存するための優れた方法として、そのような可能性を考えました。この場合、多くのタイプの質問が必要であるため、回答オブジェクトのクラスはObjectになります(たとえば、回答はビットマップの場合もあります)。

これは、それを行う方法と、それがまったく良い考えであるかどうか(そして、そうでない場合は、より良い方法があるかどうか)の両方の問題です。なぜなら、私はFlash BuilderとFlexの全体にまったく慣れておらず、そうではないからです。すべての可能性とベストプラクティスに本当に慣れています。

ありがとう!

4

2 に答える 2

1

XMLデータの結果をValueObjectsに割り当てることをお勧めします。同じクラス内でロジックとデータを混在させないために、ValueObjectクラスに直接データを追加するか、別のクラスを使用してVOにロジックを具体的に追加することができます。 。

Flex / FlashBuilderに慣れていない場合は、次のチュートリアルをご覧ください。VOを参照するリンクは次のとおりです。http:
//www.adobe.com/devnet/flex/videotraining/exercises/ex2_08.html#b

于 2011-01-03T04:01:52.593 に答える
0

リスト内の各項目には、プレゼンテーションモデルのようなものを使用することを好みます。

アイデアは、XMLデータ(モデルデータ)と、ビューにより重要なプロパティを使用してクラスを構成することです。つまり、XMLデータを上位レベルの型にマップし、それをリストにプッシュします。このようなものでlabel、モデルに委任さcolorれますが、UIレイヤーに追加するものです。

public class QuestionPM {
    private _model:XML;
    public function QuestionPM(model:XML) {
        _model = model;
    }

    public function get label():String { return _model.label; }
    public var color:String;
}
于 2011-01-03T03:58:06.367 に答える