BlackBerry Forums Support Community

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

Please Login to Remove!

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!!
public class MainClass extends UiApplication {
	public static void main(String []arg)
		MainClass inst= new MainClass();
	public MainClass() {
		pushScreen(new myTest());

class myTest extends MainScreen{
	BasicEditField b1,b2;
	public myTest() {
		b1=new BasicEditField("first:","one");
		b2=new BasicEditField("second:","two");
	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
Old 07-06-2010, 07:12 AM   #2 (permalink)
BlackBerry Extraordinaire
Join Date: Mar 2008
Location: Austin, TX
Model: 9700
Carrier: T-Mobile
Posts: 1,644
Post Thanks: 0
Thanked 34 Times in 33 Posts

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.

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