<!> Исключение: if (outOfBound) dialog.close (); - PullRequest
0 голосов
/ 05 января 2012

Могу ли я закрыть себя в диалоговом окне, если событие касания происходит за пределами диалогового поля? Я могу довольно хорошо закрыть его в противоположном случае, как показано в следующем коде:

protected boolean touchEvent(TouchEvent message)
{
    int x = message.getX( 1 );
    int y = message.getY( 1 );
    if( x < 0 || y < 0 || x > getExtent().width || y > getExtent().height ) {
        // Outside the field
//      close();//? can't be closed properly
        return false;
    }

    switch( message.getEvent() ) {

        case TouchEvent.UNCLICK:
        close();//? can be closed properly
        return true;
    }
    return super.touchEvent( message );
}

Ответы [ 2 ]

0 голосов
/ 06 января 2012

Решено!Все же разрешите поблагодарить вас.Очень полезно, если вы можете поговорить с кем-то, когда застряли.

Но я до сих пор не знаю, в чем разница между этими двумя:

protected boolean touchEvent(TouchEvent message)
{
    int x = message.getX( 1 );
    int y = message.getY( 1 );
    boolean isOutOfBounds = false;

    if( x < 0 || y < 0 || x > getExtent().width || y > getExtent().height ) {
        // Outside the field
//      close();//!
//      return true;

        isOutOfBounds = true;
    }

    switch( message.getEvent() ) {

        case TouchEvent.UNCLICK:

        // close in TouchEvent, if out of bounds                    
        if(isOutOfBounds)
        {
            close();
            return true;
        }


        close();                                   
            return true;
    }
    return super.touchEvent( message );
}
0 голосов
/ 05 января 2012

попробуйте это. вместо того, чтобы писать, просто закрой, напиши это. надеюсь, что это сработает.

UiApplication.getUiApplication().invokeLater ( new Runnable() 
{ 
      public void run () 
                        {
                            UiApplication.getUiApplication().pushScreen(new MyTripScreen());
                            close();
                        }
                    }
                );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...