Blackberry CustomList - PullRequest
       19

Blackberry CustomList

0 голосов
/ 31 мая 2011

Я создаю список с помощью setCallback, но он не создается.мой метод drawLsitrow не вызывается.все работает нормально, кроме этого списка.как, когда я тестирую, используя System.out.println ("Название печати ********** "+ GetTitle);он печатает только 4 раза в моем коде, а не в drawListrow.так что, пожалуйста, он; вытащить меня ... относительно этого ...... заранее спасибо ..........

package listPackage;



public class AddsToFavouriteScreen extends MainScreen 
{
     //declare the global variable 
     static String Text;
     int numberCount=0;
    public int index;
    //static Vector latitude;
    public String latitude;
    Vector title1= new Vector();
    String location1;
    String employer1;
    String Description1;
     public FavouriteList getFavouriteList = new FavouriteList( );


class FavouriteList extends ListField implements ListFieldCallback {

    public Vector rows = new Vector();

    public FavouriteList() {
        super(0, ListField.MULTI_SELECT);
    }

    static int count = -1;
    Vector gettitle;



    public void listCreate(Vector recievedTitle) {
        setRowHeight(60);
        setEmptyString("It is Empty!", DrawStyle.HCENTER);
        setCallback(this);

        gettitle = new Vector(recievedTitle.size());
        for (int i = 0; i< recievedTitle.size(); i++) {
            gettitle.addElement(recievedTitle.elementAt(i));
            System.out.println("Print Title is **********************"+gettitle);
        }

        System.out.println("Print Title is **********************"+gettitle);

        FontFamily fontFamily[] = FontFamily.getFontFamilies();

        //Font font2 = fontFamily[1].getFont(Font.BOLD, 15);

        Font font3 = fontFamily[1].getFont(Font.PLAIN, 15);
        for (int index = 0; index < recievedTitle.size(); index++) {
            TableRowManager row = new TableRowManager();
            RichTextField titleText = new RichTextField(recievedTitle
                    .elementAt(index).toString(), DrawStyle.ELLIPSIS);
            titleText.setFont(font3);
            row.add(titleText);
            System.out.println("Print Title is **********************"+gettitle);
            rows.addElement(row);


        }
        setSize(rows.size());
        System.out.println("Print rows  **********************"+gettitle);
    }


    public void drawListRow(ListField listField, Graphics g, int index, int y,
            int width) {

        FavouriteList list = (FavouriteList) listField;

        TableRowManager rowManager = (TableRowManager) list.rows.elementAt(index);

        rowManager.drawRow(g, 0, y, width, 200);
        System.out.println("Print Title is **********************"+gettitle);
    }

    public class TableRowManager extends Manager 
    {
        public TableRowManager() {
            super(0);
        }

        public void drawRow(Graphics g, int x, int y, int width, int height) {

            layout(width, height);

            setPosition(x, y);

            g.pushRegion(getExtent());
            System.out.println("Print Title is **********************"+gettitle);
            subpaint(g);

            g.setColor(0x00CACACA);
            g.drawLine(0, 0, getPreferredWidth(), 0);

            g.popContext();
        }

        protected void sublayout(int width, int height) {
            int fontHeight = Font.getDefault().getHeight();
            int preferredWidth = getPreferredWidth();
            Field field = getField(0);
            layoutChild(field, 300, fontHeight + 1);
            setPositionChild(field, 10, 5);

            /*Field field = getField(0);
            layoutChild(field, 100, fontHeight + 1);
            setPositionChild(field, 5, 5);

            field = getField(1);
            layoutChild(field, 250, fontHeight + 1);
            setPositionChild(field, 100, 5);*/

            setExtent(preferredWidth, getPreferredHeight());
        }

        public int getPreferredWidth() {
            return Display.getWidth();
        }

        public int getPreferredHeight() {
            return getRowHeight();
        }
    }

    public Object get(ListField listField, int index) {
        return null;
    }

    public int getPreferredWidth(ListField listField) {
        return 0;
    }

    public int indexOfList(ListField listField, String prefix, int start) {
        return 0;
    }

}
...