ClickListener работает только для элементов в таблице Libgdx - PullRequest
0 голосов
/ 21 декабря 2018

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

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

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

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

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

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

enter image description here

Мои коды 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);

1 Ответ

0 голосов
/ 21 декабря 2018

Если вы посмотрите на конструктор Table, вы увидите следующую строку:

setTouchable(Touchable.childrenOnly);

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

...