BlackBerry Forums Support Community               

Closed Thread
 
LinkBack Thread Tools
Old 08-14-2007, 05:49 AM   #1 (permalink)
Knows Where the Search Button Is
 
Join Date: Aug 2007
Model: 8100
PIN: N/A
Carrier: cingular
Posts: 33
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default NullPointerException on focusing a manager

Please Login to Remove!

Hi

As per the hierarchy manager extends Field.

So, i have overriden the drawFocus and isFocusable methods.

But whenever my isFocusable returns true for that manager, i get NullPointerException , even before its true value is set. i value is set to false, then it works fine.

I'm using the CustomManager code at BB developer site and adding drawFocus to it
Offline  
Old 08-14-2007, 07:23 AM   #2 (permalink)
Thumbs Must Hurt
 
Join Date: Jun 2007
Location: Bangladesh
Model: 8800
PIN: N/A
Carrier: EDGE
Posts: 93
Post Thanks: 0
Thanked 0 Times in 0 Posts
Question

Hi rock_win,

Is it possible to open your source code, so that we can point to your interest?

Thanks,
ARIF
Offline  
Old 08-15-2007, 01:22 AM   #3 (permalink)
Knows Where the Search Button Is
 
Join Date: Aug 2007
Model: 8100
PIN: N/A
Carrier: cingular
Posts: 33
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Heres the code, as soon as i set _focusable to true, i get the exception
Code:
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;




class MainFrame extends Manager{
    public boolean _focusable=false;
    boolean extent1=true;
    int _width=0,_height=0;//for width and height of individual field
        int x=0,y=0;//for each field
        
    
    MainFrame(int x,int y,int _width,int _height) { 
     super(Manager.VERTICAL_SCROLL|Manager.FOCUSABLE);
     this.x=x;
     this.y=y;
     this._width=_width;
     this._height=_height;
       }
    
    public int getPreferredWidth()
    {
        return 260;
    }
    public int getPreferredHeight()
    {
        return 160;
    }
    
        public void sublayout(int width,int height)
    {
        System.out.println("width:"+width+"\t height:"+height);
        Field field;
        int noFields=getFieldCount();     
        
     
        for(int i=0;i<noFields;i++)
        {
             field=getField(i);
            setPositionChild(field,10,10+y);
        
if(field instanceof CustomRectField){
    System.out.println("Drawing RectField"+getExtent().width+"\t"+getExtent().height);
             x=((CustomRectField)field).x;
                y=((CustomRectField)field).y;
                _width=((CustomRectField)field)._width;
                _height=((CustomRectField)field)._height;
              setPositionChild(field,x,y);
        }
            layoutChild(field,_width,_height);
            //y+=30;
        }
      
   setExtent(getPreferredWidth(),getPreferredHeight());
   
    }
  public boolean isFocusable()
    {
        return _focusable;
    }
   
}
Offline  
Old 08-15-2007, 11:29 AM   #4 (permalink)
Talking BlackBerry Encyclopedia
 
Join Date: Oct 2006
Model: 7103
Carrier: Verizon
Posts: 259
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

This is totally a guess but the manager class might not like being constructed with Manager.FOCUSABLE while returning false (from public boolean _focusable=false; , return _focusable) via your overriding isFocusable method.
Offline  
Old 08-16-2007, 07:45 AM   #5 (permalink)
Knows Where the Search Button Is
 
Join Date: Aug 2007
Model: 8100
PIN: N/A
Carrier: cingular
Posts: 33
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Figured out the problem, it was the problem the fields are getting added in, at the time isFocusable is called the managers are empty
Offline  




Copyright 2004-2016 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.