2012-03-18 16 views
0

画像を画面の下部に表示してクリック可能にしたいのですが、カスタムビットマップフィールドImageButtonFieldを作成して使用しようとしましたが、ImageButtonFieldを解決できません。カスタムビットマップフィールドを使用する際の問題

public class ImageButtonField extends BitmapField 
{ 
    public ImageButtonField(Bitmap image) { 
     super(image); 
    } 

    public ImageButtonField(Bitmap image,Field location) { 
     //super(image,location); 
    } 
    public boolean isFocusable() { 
     return true; 
    } 

    protected boolean navigationClick(int status, int time) { 
     fieldChangeNotify(0); 
     return true; 
    } 

    protected boolean trackwheelClick(int status, int time) { 
     fieldChangeNotify(0); 
     return true; 
    } 

    protected boolean keyChar(char character, int status, int time) { 
     if(Characters.ENTER == character || Characters.SPACE == character) { 
      fieldChangeNotify(0); 
      return true; 
     } 
     return super.keyChar(character, status, time); 
    } 
} 


    public NativeScreen() { 


      super(); 
       LabelField title = new LabelField("Calendar DatePicker", 
           LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); 

       hrzManager = new HorizontalFieldManager() { 
        protected void paintBackground(Graphics graphics) { 
          graphics.setBackgroundColor(0x0007F5ED); 
           graphics.clear(); 
           super.paint(graphics); 
       } 
       }; 
      hrzManager.add(title); 
      this.add(hrzManager); 
       //The background image. 
    backgroundBitmap = Bitmap.getBitmapResource("cryptodemo_jde.png"); 

    // MainScreen mainScreen = new MainScreen(MainScreen.NO_VERTICAL_SCROLL | MainScreen.NO_HORIZONTAL_SCROLL); 

    VerticalFieldManager verticalFieldManager = new VerticalFieldManager(Manager.NO_VERTICAL_SCROLL | Manager.NO_HORIZONTAL_SCROLL | 
     Manager.USE_ALL_HEIGHT | Manager.USE_ALL_WIDTH) ; 

    BasicEditField bef = new BasicEditField("To: ","",50,BasicEditField.FILTER_EMAIL); 

    //The LabelField will show up through the transparent image. 
    LabelField labelField = new LabelField("This is a label"); 

    HorizontalFieldManager horizontalFieldManager = new HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH | HorizontalFieldManager.USE_ALL_HEIGHT); 
    //A bitmap field with a transparent image. 
    //The background image will show up through the transparent BitMapField image. 
    ImageButtonField bitmapField = new ImageButtonField(Bitmap.getBitmapResource("pimdemo_jde.png"), Field.FIELD_BOTTOM); 
     horizontalFieldManager.add(bitmapField); 
    BitmapField bitmapField1 = new BitmapField(Bitmap.getBitmapResource("attachmentdemo_jde.png"), Field.FIELD_BOTTOM); 
    horizontalFieldManager.add(bitmapField1); 

    //Add the fields to the manager. 
    // verticalFieldManager.add(bef); 
    // verticalFieldManager.add(labelField); 
    verticalFieldManager.add(horizontalFieldManager); 

    //Add the manager to the screen. 
    this.add(verticalFieldManager); 
+0

あなたは完全なスタックトレース –

+0

@CarlosGavidiaクラスImageButtonField ImageButtonField bitmapField =新しいImageButtonFieldを投稿する必要があります(「pimdemo_jde.png」) 、Field.FIELD_BOTTOM); ^ 1エラー –

+0

@CarlosGavidia画像をクリックして画面の下部に配置したいのですが –

答えて

1

あなたがこれを行うことができますあなたのクラスにはコンストラクタがありません:

ImageButtonField ImageButtonField bitmapField = new ImageButtonField(Bitmap.getBitmapResource("pimdemo_jde.png"), Field.FIELD_BOTTOM); 

あなたが使用しようとしているコンストラクタがBitmapインスタンスを必要とし、長いプリミティブ(Field.FIELD_BOTTOMについては、 )。あなたのコードが動作するために次のシグネチャを使用して、コンストラクタを追加する必要があります:(Bitmap.getBitmapResourceを

public ImageButtonField (Bitmap bitmap, long style){ 
    super(bitmap, style); 
} 
+0

私は間違ったコンストラクタを使用してくれてありがとう –

+0

私はこのために助けが必要ですhttp://stackoverflow.com/questions/9739439/how作成 - リストフィールド - 類似 - ネイティブ - カレンダー –

関連する問題