ClickListener работает только для элементов в Table Libgdx

У меня есть расширенный основной класс таблицы (table_A). Внутри класса table_A у меня есть метод, функция которого состоит в том, чтобы добавить новую таблицу (table_b) в мою таблицу_A (для достижения результата в области прокрутки), в то же время назначить прослушиватель кликов для table_b.

Я, хотя, добавляя clicklistener (ck) к table_b, сделает table_b обнаруживаемым. Однако только элементы в table_b могут обнаруживать кликлистенер.

Пожалуйста помоги

Моя table_A добавляет табличную функцию следующим образом:

 public void addRow(Table newRow){
    scrollTable.row();
    scrollTable.add(newRow).width(newRow.getWidth()).pad(10);
    newRow.addListener(ck);
    newRow.debug();
    newRow.setName(stage++ +"");
}

Моя таблица отладки выглядит так:

введите здесь описание изображения

Мои коды table_b выглядят так:

  add(challengeLabel).colspan(10).expandX().align(Align.left).fill();
        row();

        add(star1).colspan(1).size(starSpaceWidth, star1.getHeight() / star1.getWidth() * starSpaceWidth).expandX().fillX().align(Align.right);
        add(star2).colspan(1).size(starSpaceWidth, star1.getHeight() / star1.getWidth() * starSpaceWidth);
        add(star3).colspan(1).size(starSpaceWidth, star1.getHeight() / star1.getWidth() * starSpaceWidth);
        add(star4).colspan(1).size(starSpaceWidth, star1.getHeight() / star1.getWidth() * starSpaceWidth);
        add(star5).colspan(1).size(starSpaceWidth, star1.getHeight() / star1.getWidth() * starSpaceWidth);

person Pengyou    schedule 21.12.2018    source источник


Ответы (1)


Если вы посмотрите в конструктор таблицы, вы увидите эту строку:

setTouchable(Touchable.childrenOnly);

Это вызывает ваши проблемы. Измените его для своей таблицы_B.

person MrStahlfelge    schedule 21.12.2018