BlackBerry Forums Support Community               

Closed Thread
 
LinkBack Thread Tools
Old 07-06-2010, 05:35 AM   #1 (permalink)
Knows Where the Search Button Is
 
Join Date: Jan 2010
Model: 8900
PIN: N/A
Carrier: telus
Posts: 35
Post Thanks: 0
Thanked 0 Times in 0 Posts
Thumbs up FieldchangeListener problem StackoverFlowError

Please Login to Remove!

hi
i have two field,both have their own FieldchangeListener, on one listener i have to change other field vale, and it will be vice-verse too.
but it is giving error "StackOverFlowError".
code example is here!!
Code:
public class MainClass extends UiApplication {
	public static void main(String []arg)
	{
		MainClass inst= new MainClass();
		inst.enterEventDispatcher();
	}
	public MainClass() {
		pushScreen(new myTest());
	}

}
class myTest extends MainScreen{
	BasicEditField b1,b2;
	public myTest() {
		b1=new BasicEditField("first:","one");
		b2=new BasicEditField("second:","two");
		b1.setChangeListener(b1_listener);
		b2.setChangeListener(b2_listener);
		add(b1);
		add(b2);
	}
	FieldChangeListener b1_listener=new FieldChangeListener(){

		public void fieldChanged(Field field, int context) {
			
			b2.setText("set two");
		}
		
	};
	FieldChangeListener b2_listener=new FieldChangeListener(){

		public void fieldChanged(Field field, int context) {
			
			b1.setText("set one");
		}
		
	};
}
if any one know why this exception is coming then reply me.
Thanks and regards
Imran ali
Offline  
Old 07-06-2010, 08:12 AM   #2 (permalink)
BlackBerry Extraordinaire
 
Join Date: Mar 2008
Location: Austin, TX
Model: 9700
PIN: N/A
Carrier: T-Mobile
Posts: 1,644
Post Thanks: 0
Thanked 34 Times in 33 Posts
Default

Follow the logic:

b1 sets the data in b2, which causes a call to the listener on b2, which sets the data in b1, which results in a call to the listener on b1, which results in changing b2, causing a call the the listener on b2, etc, etc, etc, until you blow the stack.

Not sure exactly what you are trying to accomplish here, but you might want to take a look at the "Context" variable - this tells you if the data has been set programmatically, or by the user.
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





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