Я создаю внутренний класс в методе. После этого я обращаюсь к некоторым высказываниям вроде
public class Test extends MainScreen
{
HorizontalFieldManager hfm;
Bitmap bitmap[] = new Bitmap[100];
BitmapField[] bitmapField = new BitmapField[100];
int countBitmap = 0;
Test()
{
VerticalFieldManager vfm_Main = new VerticalFieldManager();
hfm = new HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH);
vfm_Main.add(hfm);
add(vfm_Main);
}
void drawBitmap()
{
bitmap[countBitmap] = new Bitmap(100, 100);
bitmapField[countBitmap] = new BitmapField(bitmap[countBitmap]){
public void paint(Graphics g)
{
................
................
g.drawLine(x1,y1,x2,y2);
}
}
synchronized(UiApplication.getEventLock())
{
for(int i = 0 ; i < bitmapField.length; i++)
{
if(bitmapField[i] != null)
{
bitmapField[i].setBitmap(bitmap[i]);
}
}
hfm.add(bitmapField[countBitmap]);
countBitmap++;
Но здесь проблема в том, что после создания растрового изображения и перед созданием bitmapField управление переходит к
synchronized(UiApplication.getEventLock()){hfm.add(bitmapField[countBitmap]); }
Поэтому перед созданием bitmapField он добавляет его в hfm.
Таким образом, вывод будет выглядеть как «Каждый раз, когда новый битмапфилд добавляется в hfm (означает в той же позиции, заменяя предыдущую)». Но я хочу, чтобы битовые поля находились рядом друг с другом в hfm.
Как это сделать?
Есть ли какое-либо решение, почему управление переходит сначала к hfm.add () перед новым внутренним классом bitmapField ()?