0

senchatouch2.0でアプリケーションを作成しています

ナビゲーションビューを使用しているim

昇順の数学クイズで数字の配置を作成するim

私の問題は、アプリケーションを実行すると初めて正常に動作することですが、戻るボタンをクリックして同じビューにエージングが入ると、古い番号が表示されます

難しいのは、ボタンのテキストに新しい番号が表示されることですが、ボタンをクリックしてテキストを取得すると、古い番号が表示されます

私のコード

sequence_user_answer="";
sequence_answer="";
sequence_number1=this.getRandomNumber(99,10);
sequence_number2=this.getRandomNumber(99,10);
sequence_number3=this.getRandomNumber(99,10);
       if(sequence_number1==sequence_number2)
       {
            while(sequence_number1==sequence_number2)
            {
                sequence_number2=this.getRandomNumber(99,10);
            }
       }
       else if(sequence_number3==sequence_number1 || sequence_number3==sequence_number1)
       {
            while(sequence_number3==sequence_number2 || sequence_number3==sequence_number1)
            {
                sequence_number3= this.getRandomNumber(99,10);
            }
       }


       var sequencenumber1=Ext.getCmp('NumberSequence1');
       sequencenumber1.setHtml(sequence_number1);

       var sequencenumber2=Ext.getCmp('NumberSequence2');
       sequencenumber2.setHtml(sequence_number2);
      // alert("two");

       var sequencenumber3=Ext.getCmp('NumberSequence3');
       sequencenumber3.setHtml(sequence_number3);

       var label1=Ext.getCmp('lblsequencenumber1');
       label1.setHtml("");

       var label2=Ext.getCmp('lblsequencenumber2');
       label2.setHtml("");

       var label3=Ext.getCmp('lblsequencenumber3');
       label3.setHtml("");

       if(sequence_number1>sequence_number2)
       {
            if(sequence_number1>sequence_number3)
            {

                if(sequence_number2>sequence_number3)
                {
                    sequence_answer=sequence_answer+sequence_number3;
                    sequence_answer=sequence_answer+sequence_number2;

                }
                else
                {
                    sequence_answer=sequence_answer+sequence_number2;
                    sequence_answer=sequence_answer+sequence_number3;

                }
                sequence_answer=sequence_answer+sequence_number1;
            }
            else
            {

                sequence_answer=sequence_answer+sequence_number2;
                sequence_answer=sequence_answer+sequence_number1;
                sequence_answer=sequence_answer+sequence_number3;
            }
       }
       else
       {
            if(sequence_number2>sequence_number3)
            {
                if(sequence_number1>sequence_number3)
                {
                    sequence_answer=sequence_answer+sequence_number3;
                    sequence_answer=sequence_answer+sequence_number1;
                }
                else
                {
                    sequence_answer=sequence_answer+sequence_number1;
                    sequence_answer=sequence_answer+sequence_number3;
                }
                sequence_answer=sequence_answer+sequence_number2;
            }
            else
            {
                sequence_answer=sequence_answer+sequence_number2;
                sequence_answer=sequence_answer+sequence_number1;
                sequence_answer=sequence_answer+sequence_number3;
            }
       }

ボタンタップで

getSequenceAnswer:function(selected_button_id)
{
       //alert(selected_button_id);
       alert(selected_button_id.getHtml()); // here it shows me an old value when i go back and enter again to this view
       var ans_audio=Ext.getCmp('answeraudio');
       var que_audio=Ext.getCmp('questionaudio');
       var result=Ext.getCmp('statuslbl');
       if(sequence_count==0)
       {
            var sequence_label1=Ext.getCmp('lblsequencenumber1');
            sequence_label1.setHtml(selected_button_id.getHtml());
            sequence_count++;
            sequence_user_answer=sequence_user_answer+selected_button_id.getHtml();
       }
       else if(sequence_count==1)
       {
            var sequence_label2=Ext.getCmp('lblsequencenumber2');
            sequence_label2.setHtml(selected_button_id.getHtml());
            sequence_count++;
            sequence_user_answer=sequence_user_answer+selected_button_id.getHtml();
       }
       else if(sequence_count==2)
       {
            var sequence_label3=Ext.getCmp('lblsequencenumber3');
            sequence_label3.setHtml(selected_button_id.getHtml());
            sequence_count++;
            sequence_user_answer=sequence_user_answer+selected_button_id.getHtml();

            if(sequence_answer==sequence_user_answer)
            {
                que_audio.setUrl("");
                ans_audio.setUrl('audio/true.mp3');
                ans_audio.play();            
                this.getTrue(result);
                var marks=Ext.getCmp('lblMarks');
                sequence_marks = sequence_marks+2;
                marks.setHtml(sequence_marks);            
                var total=Ext.getCmp('lbltotal');
                sequence_total_marks= sequence_total_marks+2;
                total.setHtml(sequence_total_marks);
            }
            else
            {
                que_audio.setUrl("");
                ans_audio.setUrl('audio/false.mp3');
                ans_audio.play();
                this.getFalse(result);
                var total=Ext.getCmp('lbltotal');
                sequence_total_marks= sequence_total_marks+2;
                total.setHtml(sequence_total_marks);
            }
       }
}
4

1 に答える 1

0

ほとんどの場合、コンテナの表示中に呼び出す show listener を使用できます。コンポーネントを動的に作成するロジックをここに記述します。または、別の方法として、ラベルまたはその中の他のコンポーネント データをリセットすることもできます。

listeners: {
    show: function(list, opts){
        // code to reset  your comp
    }
}
于 2012-08-30T21:12:34.047 に答える