прокрутка смени слушателя на ежевику - PullRequest
0 голосов
/ 29 июля 2011

Когда я выполняю следующий код на симуляторе, он выдает ошибку переполнения стека.

Я думаю, что возникла ошибка, Каждое значение newhor HorizontalScroll при прокрутке

Как этого избежать или как рассчитать окончательное значение горизонтальной прокрутки?

int customfiledwidth = Display.getWidth()/3;


HorizontalFieldManager horizontalScrollLayout = new HorizontalFieldManager(HorizontalFieldManager.HORIZONTAL_SCROLL)
horizontalScrollLayout.setScrollListener(this);

// i add number of customfield on horizontalscrolllayout.....

public void scrollChanged(Manager manager, int newHorizontalScroll,int newVerticalScroll) 
{
    {

        horizontalScrollLayout.setHorizontalScroll(newHorizontalScroll);
        int fieldIndex =horizontalScrollLayout.getFieldAtLocation(newHorizontalScroll+customfieldwidth,0);
        Field f = horizontalScrollLayout.getField(fieldIndex);
        f.setFocus();
        invalidate();
        }}
    }

1 Ответ

1 голос
/ 29 июля 2011

Вы попадаете в бесконечный цикл в значительной степени, вызывая setHorizontalScroll() в том же поле, где вы слушаете его прокрутку. Я бы удалил эту строку и посмотрел, работает ли ваш код.

...