ClickListener hanya berfungsi untuk elemen di Tabel Libgdx

Saya memiliki tabel kelas utama yang diperluas (tabel_A). Di dalam kelas table_A saya memiliki metode yang fungsinya untuk menambahkan tabel baru (table_b) ke dalam table_A saya (untuk mencapai hasil scrollpane), sekaligus menetapkan pendengar klik ke table_b.

Saya pikir dengan menambahkan clicklistener (ck) ke table_b akan membuat table_b terdeteksi. Namun, hanya elemen di table_b yang dapat melakukan deteksi dari clicklistener.

Tolong bantu

Table_A saya menambahkan fungsi tabel sebagai berikut:

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

Tabel debug saya berfungsi sebagai:

masukkan deskripsi gambar di sini

Kode table_b saya adalah:

  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 sumber


Jawaban (1)


Jika Anda melihat konstruktor Tabel, Anda melihat baris ini:

setTouchable(Touchable.childrenOnly);

Hal ini menyebabkan masalah Anda. Ubah untuk table_B Anda.

person MrStahlfelge    schedule 21.12.2018