2012-01-19 7 views

答えて

0

Popup screenをあなたの必要条件を満たすようにすることができます。 Document hereを参照してください。実装のためにsee this question on stackOverFlow。ここで

あなたは、あなたが画面を拡張CustomDialogを作成することができメント

public class PinPopup extends PopupScreen //implements FieldChangeListener 
{ 
public static EditField texts; 


PinPopup() 
{ 
super(new HorizontalFieldManager()); 
Font f = Font.getDefault().derive(Font.BOLD, 16); 
setFont(f); 
texts=new EditField("Pin: ","",15 , Field.EDITABLE); 


ButtonField sendButton = new ButtonField(" Send "){ 
    protected boolean navigationClick(int status, int time) { 
     //Do something with button 
     return true; 
     } 



}; 

ButtonField cancelButton = new ButtonField("Cancel"){ 
    protected boolean navigationClick(int status, int time) { 
      //Do something with button 
     return true; 
     } 
}; 

Manager _fieldManagerContext = new Manager(USE_ALL_WIDTH) 
    { 

    public void sublayout(int width,int height) {     
     //super.sublayout(width, height); 
     int xpos = 10; 
     int ypos = 40; 

     Field field = getField(0); 
     layoutChild(field, 280, 50); 
     setPositionChild(field, xpos, ypos); 

     Field field1 = getField(1); 
     layoutChild(field1, 280, 50); 
     setPositionChild(field1, xpos, ypos+40); 

     Field field2 = getField(2); 
     layoutChild(field2, 280, 50); 
     setPositionChild(field2, xpos+20, ypos+100); 


     setPosition(300, 300); 
     setExtent(300, 300); 

     } 
      public void paint(Graphics graphics) 
      { 
       //graphics.setColor(Color.WHITE); 
       Font f = Font.getDefault().derive(Font.BOLD, 16); 
       graphics.setFont(f); 
       graphics.drawText("SEND PIN",90, 20,0,200); 
       //graphics.drawText(_userName,110,40,0,200); 
       graphics.setColor(Color.WHITE); 
       super.paint(graphics);      
      } 

    }; 

      _fieldManagerContext.add(texts); 
      _fieldManagerContext.add(sendButton); 
      _fieldManagerContext.add(cancelButton); 
      add(_fieldManagerContext); 

} 

} 
0

を必要とするために、あなたがそれを変更できるコードです。これは、ユーザーがテキストボックスに入力するピン値を取得するのにも役立ちます。

public class CustomDialog extends Screen 
{ 

    public CustomDialog() 
    { 
      super(new VerticalFieldManager(), Screen.DEFAULT_CLOSE); 
      //add the whole UI here 
    } 

//control the height and width of the Dialog with the help of this function 

    protected void sublayout(int width, int height) 
    { 
     layoutDelegate(width - 80, height - 80); 
     setPositionDelegate(10, 10); 
     setExtent(width - 60, Math.min(height - 60, getDelegate().getHeight() + 20)); 
     setPosition(30, (height - getHeight())/2);  // sets the position on the screen 
    } 
} 

これはあなたを助けるでしょう。

UiApplication.getUiApplication().invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       UiApplication.getUiApplication().pushModalScreen(new CustomDialog()); 
      } 
     }); 
+0

こんにちはスワチありがとう!それはスローされ、不正な状態の例外が発生します。私はこのクラスを内部クラスとして入れるべきですか?または?? – Roses

+1

私はjstが私のコードを編集した.. – Swati

0

それとも、カスタムダイアログhereからの入力を得るの私のブログの記事を見てすることができます。..以下のコードを参照してください。このダイアログを呼び出し中。

+0

それは私のためにworkd偉大なリチャード! :) – Roses

関連する問題