2012-09-12 94 views
0

我开发了黑莓(Java)的Rss应用程序,我成功地从Rss File.i中显示了标题(无线电频道的列表需要在线播放),我已经开发了用于播放这些无线电频道列表的代码,但是我的要求当我的列表初始(频道列表)显示时,是否可以播放第一频道(第一列表),任何一个可以帮助我在哪里写我的逻辑(默认播放第一频道),以在我的频道立即显示后执行?黑莓java列表字段

这里我的RSS代码:

public class RssScreen extends MainScreen implements ListFieldCallback,FieldChangeListener { 
    Connection _connectionthread;  
    private static ListField _list; 
    String image; 
    String title; 
    private static Vector listElements = new Vector(); 
    private static Vector listImage = new Vector(); 

    public long mycolor ; 
    VerticalFieldManager mainManager; 
    VerticalFieldManager subManager; 
    int selectedList; 
    Radio radio; 

    public RssScreen(){ 
     final Bitmap backgroundBitmap = Bitmap.getBitmapResource("blackbackground.png"); 

     mainManager = new VerticalFieldManager(Manager.NO_VERTICAL_SCROLL | Manager.NO_VERTICAL_SCROLLBAR) 
      { 

      public void paint(Graphics graphics) 
       { 
       graphics.drawBitmap(0, 0, Display.getWidth(),Display.getHeight(),backgroundBitmap, 0, 0); 

       super.paint(graphics); 
       } 

      }; 

      subManager = new VerticalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR) 
      { 
       protected void sublayout(int maxWidth, int maxHeight) 
       { 
        int displayWidth = Display.getWidth(); 
        int displayHeight = Display.getHeight(); 

        super.sublayout(displayWidth, displayHeight); 
        setExtent(displayWidth, displayHeight); 
       } 
      };   


     add(mainManager); 


     _list = new ListField() 

     { 
      protected boolean navigationClick(int status, int time) 
      { 
          return true; 
      } 
     public void paint(Graphics graphics) 

     { 
      graphics.setColor((int) mycolor); 
     super.paint(graphics); 

     } 

     }; 
     mycolor = 0x00FFFFFF; 
      _list.invalidate(); 
      _list.setEmptyString("* Feeds Not Available *", DrawStyle.HCENTER); 
     _list.setRowHeight(50); 

     _list.setCallback(this); 
     mainManager.add(subManager);  
     listElements.removeAllElements(); 
     _connectionthread = new Connection(); 
     _connectionthread.start(); 
    } 

    private class Connection extends Thread 
    { 
     public Connection() 
     { 
      super(); 
     } 

     public void run() { 
      Document doc; 
      StreamConnection conn = null; 
      InputStream is = null; 
      try {   

       conn = (StreamConnection) Connector.open("http://toucheradio.com/toneradio/android/toriLite/toriplaylist.xml"+";deviceside=true");   

       DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); 
       docBuilderFactory.setIgnoringElementContentWhitespace(true); 
       docBuilderFactory.setCoalescing(true); 
       DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();  
       docBuilder.isValidating();  
       is = conn.openInputStream();  
       doc = docBuilder.parse(is);  
       doc.getDocumentElement().normalize(); 
       NodeList listImg = doc.getElementsByTagName("title"); 
       for (int i = 0; i < listImg.getLength(); i++) {  
       Node textNode = listImg.item(i).getFirstChild(); 
       listElements.addElement(textNode.getNodeValue()); 
       image=textNode.getNodeValue();    
       } 
       NodeList list = doc.getElementsByTagName("image"); 
        for (int a = 0; a < list.getLength(); a++) {  
        Node textNode1 = list.item(a).getFirstChild(); 
        listImage.addElement(textNode1.getNodeValue()); 
             } 





      } 
        catch (Exception e) { 
         System.out.println(e.toString());      
         } finally { 
          if (is != null) { 
          try { is.close(); 
          } catch (IOException ignored) {} 
          }  if (conn != null) { 
           try { conn.close(); } 
           catch (IOException ignored) {} 
           } } UiApplication.getUiApplication().invokeLater(new Runnable() { 
            public void run() {   
            _list.setSize(listElements.size()); 

            subManager.add(_list); 

            invalidate(); 
            } 
            }); 
           } 

    } 


    public void drawListRow(ListField list, Graphics g, int index, int y, int w) 
    { 
    String title=(String)listElements.elementAt(index); 
    String image=(String)listImage.elementAt(index); 
    // Bitmap image1= getBitmapFromUrl(image); 


    System.out.println("Title"+title); 
    System.out.println("Image"+image); 
     int yPos = 0+y; 
     g.drawLine(0, yPos, w, yPos); 

     g.drawText(title, 0, y, 0, w); 
     // g.drawBitmap(0,y,image1.getWidth(),image1.getHeight(),image1,0,0); 

    } 


    public Object get(ListField list, int index) 
    { 
     return listElements.elementAt(index); 
    } 
    public int indexOfList(ListField list, String prefix, int string) 
    { 
     return listElements.indexOf(prefix, string); 
    } 
    public int getPreferredWidth(ListField list) 
    { 
    return Display.getWidth(); 
    } 
    public void insert(String toInsert, int index) { 
     listElements.addElement(toInsert); 
     } 

    public void fieldChanged(Field field, int context) { 




    } 

    } 

回答