3

2 列のボタンを作成していますが、GWT 2.4.0 にアップグレードした後、クリック イベントに問題があります。

ボタンをクリックした後、PC では、イベントを発生させるためにマウスの位置を移動する必要があります。iPad では、ボタンをもう一度押す必要があります。

int rows = (int) Math.ceil( (double)alphaLettersList.size() / 2);

Grid toolbarGrid = new Grid(rows, 2);

int numRows = toolbarGrid.getRowCount();
int numColumns = toolbarGrid.getColumnCount();

int i = 0;
for (int col = 0; col < numColumns; col++) {
    for (int row = 0; row < numRows; row++) {
        if (i < alphaLettersList.size()) {
            final String letter = (String) alphaLettersList.get(i).toUpperCase();

            PushButton letterButton = new PushButton();
            letterButton.setHTML("<div class='googleLetterBtn'>"+letter+"</div>");

            letterButton.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    LocalSurveyManager2.getInstance().getArticlesForLetter(letter,     RoomPanelArticleForLetterListener.getInstance());                            
            }
            });                 

            toolbarGrid.setWidget(row, col, letterButton);
        }
        i++;
    }

}
4

1 に答える 1

1

ClickHandlerの代わりにMouseDownHandlerとTouchStartHandlerを使用してこれを解決しました。

于 2012-08-30T13:08:50.093 に答える