ClickListener仅适用于Table Libgdx中的元素

时间:2018-12-21 12:29:15

标签: libgdx

我有一个表扩展主类(table_A)。在table_A类内部,我有一个方法,该函数的功能是将新表(table_b)添加到我的table_A中(以实现滚动窗格结果),同时将单击侦听器分配给table_b。

尽管我通过将clicklistener(ck)添加到table_b将使table_b可检测。但是,只有table_b中的元素才能从clicklistener中进行检测。

请帮助

我的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++ +"");
}

我的调试表如下:

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 :(得分:2)

如果您看一下Table的构造函数,您会看到以下一行:

setTouchable(Touchable.childrenOnly);

正在引起您的麻烦。为您的table_B更改它。