2012-11-09 22 views
0

我正在制作一个列表,其中包括人和每个单元格作为单元格背景 该列表为每个单元格提供相同的速率背景,但当向上或向下滚动列表时,米拖动把它真实利率的背景,但其他细胞留 我使用的是诺基亚S40全触屏模拟器 这是我使用的单元格渲染器j2me lwuit列表采取相同的单元格背景

list.setRenderer(new ListCellRenderer() { 

     public Component getListFocusComponent(List list) { 
      // TODO Auto-generated method stub 
      return null; 
     } 

     public Component getListCellRendererComponent(List list, 
       Object value, int index, boolean isSelected) { 
      String rate = ""; 

      rate = Transportation.getDriverRate(value.toString(), 
        CityListForm.selectedCity); 
      rate = (Integer.parseInt(rate)) > 25 ? "" + 5 : "" 
        + Integer.parseInt(rate)/5; 
      rate = "/" + rate + ".png"; 
      Image image = null; 
      Label label = null; 
      try { 

       image = (Image.createImage(rate)); 
       System.out.println(rate); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
      label = new Label(); 

      label.getStyle().setBgImage(image); 
      label.setText(value.toString()); 
      label.getStyle().setAlignment(RIGHT); 
      label.setTextPosition(RIGHT); 
      Style style = label.getStyle(); 
      style.setBgColor(16777215); 
      style.setFgColor(0); 

      label.setPreferredH(42); 
      return label; 
     } 
    }); 

回答

2

使用List.setMutableRendererBackgrounds(true);

的代码相同的速率背景图片
0

thnx答案 我解决了这个问题,方法是制作一个容器,并在其中为其设置两个标签,一个用于值,另一个用于费率图标,并给容器一个布局并将容器返回到getListCellRendererComponent()方法