2010-03-04 55 views
1

有一個標籤字段,它下面有一個位圖字段和下方有一個列表字段滾動問題與位圖圖像領域,黑莓

當我向下滾動所有重新繪製是好的,但當我從列表字段向上滾動到位圖字段

然後我的圖像不會重新繪製,直到我到達最頂部的標籤字段。

我無法弄清楚爲什麼會發生

標籤字段設置爲focussable因爲某些原因...

使得位圖字段focussable不也解決了問題

代碼:

LabelField lbl = new LabelField("Hello",Field.focussable) 

detail_img = Bitmap.getBitmapResource("container.png"); 
detail_img_field = new BitmapField(detail_img); 

reviewlist = new Review_List(my_vector); //Review_List is a class that fills value in list field 

reviewlistManager = new VerticalFieldManager(Manager.VERTICAL_SCROLL |Manager.VERTICAL_SCROLLBAR) 
{    

       protected void paint(net.rim.device.api.ui.Graphics graphics) 
        { 
         super.paint(graphics); 
        } 

         protected boolean keyDown(int keycode, int status) 
         { 
          my_Screen.this.invalidate(); 
          return super.keyDown(keycode, status); 
         } 
         protected boolean keyUp(int keycode, int time) 
         { 
          my_Screen.this.invalidate(); 
          return super.keyUp(keycode, time); 
         } 

         protected boolean navigationMovement(int dx, int dy, int status, int time) 
         { 
          my_Screen.this.invalidate(); 
          return super.navigationMovement(dx, dy, status, time); 
         } 

         protected int moveFocus(int amount, int status, int time) 
         { 
          my_Screen.this.invalidate(); 
          return super.moveFocus(amount, status, time); 
         } 
         protected void onFocus(int direction) 
         { 
          my_Screen.this.invalidate(); 
          super.onFocus(direction); 
         } 
         protected void onUnfocus() 
         { 
          my_Screen.this.invalidate(); 
          super.onUnfocus(); 
         } 

       }; 

reviewlistManager.add(reviewlist); 
backgroundMannager.add(reviewlistManager); 
add(backgroundMannager); 

回答

1

yuppieeeeee

我得到的答案

我剛放置的位圖領域的VerticalFieldManager內,用垂直滾動啓用ñ我的問題得到有效解決......

代碼:

rest_manager = new VerticalFieldManager(Manager.VERTICAL_SCROLL) 
      { 
      protected void paint(net.rim.device.api.ui.Graphics graphics) 
      { 
        int y = this.getVerticalScroll();          
            graphics.drawBitmap(0, y, rank_img.getWidth()+10, 
rank_img.getHeight(), rank_img, 0, 0); 

            super.paint(graphics); 
           } 
        } 
1

這是模擬器還是真實設備?有時模擬器會出現渲染問題(比如不重繪應該有的區域),而真實設備則不會。

+0

以及在模擬器和設備中都存在這個問題 – Swati

+0

您是否嘗試過其他模擬器或設備?你有可以發佈的代碼示例嗎? –

+0

以及我嘗試模擬器n設備像 - 曲線8300,8900,粗體900,風暴9350,但同樣的概率發生... 代碼是要發佈的大.... 任何其他選項,否則我必須縮短它以某種方式... 讓我試試... – Swati