2012-04-24 16 views
1

私のフォームに値を取得できました。値は保存ボタンのクリック時にテーブルに挿入され、同時に同じフォームに取り込まれますクリック)。しかし、問題は今、各クリックで値が連続したフローで表示されているということです。前回のクリック後に画面をクリア(フォームから値をフラッシュ)し、最新のテーブル状態値のみを表示します。 HERESにコード私が働いている:フォームから取得したデータベースの値をフラッシュする方法

public void fieldChanged(Field field, int context) //respond to button events 
     { 

      if (field == showInputButton) //if first button selected 
      { 
       Dialog.alert(TextField1.getText()); //show text from first input field 

       try 
       {  
        //Open or create the database 
        Database db = DatabaseFactory.openOrCreate("database1.db");  

        //Insert Data from db 
        Statement statement1 = db.createStatement("INSERT INTO DirectoryItems(category_id,name,phone,email) VALUES ('1','"+TextField1.getText()+"','"+TextField2.getText()+"','"+TextField3.getText()+"')"); 
        statement1.prepare(); 
        statement1.execute();  
        statement1.close(); 
        //Retrieve data 
        try 
        { 
          add(new RichTextField("Attempting to retrieve data from " + 
                         "database1.db on the SDCard.")); 


          Statement st = db.createStatement("SELECT name FROM DirectoryItems"); 

          st.prepare(); 


          Cursor c = st.getCursor(); 

          Row r; 
          int i = 0; 

          while(c.next()) 
          { 
             r = c.getRow(); 
             i++; 
             add(new RichTextField(i + "Name = " + r.getString(0))); 
          } 
          if (i==0) 
          { 
             add(new RichTextField("No data in the DirectoryItems table.")); 
          } 
          st.close(); 
          db.close(); 
        } 
        catch(Exception e) 
        {   
         System.out.println(e.getMessage()); 
         e.printStackTrace(); 
        } 

        } 

誰もがみんなに助言this.Please知っています。

+0

BB開発、UIフィールド、UIサイクルの詳細については、私には聞こえるはずです。また、コード例を見て、私はあなたが "クリーンコード"テクニックについてもっと読むことをお勧めしたいと思います。 –

+0

私は確かにbb development.Wouldに感謝しています。 – techie

+0

誰もが上記の疑問を解決することを知っています.PLZ助けを求める人 – techie

答えて

1

ユーザーが一度だけ(すなわち、最新の値)の値を取得することができますように、あなたはボタンを無効にすることで、先のフィールドchange.Disablingボタンの実装に保つのに役立ちます

((ButtonField)showInputButton).setEnabled(false); 

を使用して行くことができます取得した値を把握してください(あなたの場合のように)。

+0

ありがとうございます。私はボタンの無効化を使用することはありませんでした。私は今検索フィールドの変更されたイベントを保存ボタンフィールドを使用しました。チャーム。もう一度ありがとう。 – techie

関連する問題