2016-07-28 4 views
1

検索コマンドのアクションは機能しませんが、オーバーフローメニューのアクションは引き続き機能します。検索コマンドがCodenameoneのオーバーフローメニューと連動しません

これは私がちょうどそれのようsamethingやりたい私のコード

getToolbar().addSearchCommand(e -> { 
     String text = (String) e.getSource(); 
     if (text == null || text.length() == 0) { 
      this.undoSearch(this); 
     } else { 
      this.fetchComponents(this, text); 
     } 
     getContentPane().animateLayout(150); 
     this.revalidate(); 
     this.repaint(); 
    }, 4); 



getToolbar().addCommandToOverflowMenu("Enviar", null, (ActionListener) (e) -> { 
     Display.getInstance().scheduleBackgroundTask(() -> { 
      boolean success = this.appView.getService().updateTicket(ticket); 
      if (success) { 
       this.appView.showSuccess("Enviado com sucesso!"); 
      } else { 
       this.appView.showError(new Exception("Ocorreu algum erro ao enviar!")); 
      } 
     }); 
    }); 

です:



enter image description here

+0

何をして動作しません:tは期待通りに働いていましたか?検索ボタンをクリックするとタイトルがテキストフィールドに置き換えられ、そこでクエリを入力する必要があります。 –

+0

いいえ、検索コマンドを追加した後、オーバーフローメニュー –

答えて

1

はちょうどこの、私を試してみました

Toolbar.setGlobalToolbar(true); 

Form f = new Form("AAAA", BoxLayout.y()); 

f.getToolbar().addSearchCommand(e -> Log.p("Searching: " + e.getSource())); 
f.getToolbar().addMaterialCommandToOverflowMenu("Hi", FontImage.MATERIAL_3D_ROTATION, e -> Log.p("Overflow")); 

f.show();  

enter image description here

enter image description here

+0

を実行しても、「this.animateLayout(100);」というコードを削除しても機能しません。私のクラスから –

+0

「これ」とは何ですか?それがフォームであれば、それはアニメーションと衝突して検索バーをインストールする可能性があります。 –

+0

はい、これは私のフォームです、ありがとう:D –

関連する問題