[บทเรียน, B4J]RadioButton ที่ไม่อยู่ใน ToggleGroup สามารถเลือกและยกเลิกการเลือกได้ เมื่อใช้งาน DesignerแทนScene builder

Theera

Expert
Licensed User
Longtime User
ขออนุญาตแบ่งปันข้อมูลของbdunkleysmith และขอขอบคุณ steveที่แบ่งปันความรู้ ณ ที่นี่ด้วย
Bdunkleysmith ได้กล่าวปัญหาของเขา มีใจความดังนี้
"ผมใช้ RadioButton เดียวในโปรเจกต์ของผมมาตั้งแต่เริ่มใช้ B4J เมื่อหลายปีก่อน ตอนที่ Scene Builder เป็นเรื่องปกติ RadioButton เดียวจะเปิด/ปิดเมื่อคลิก และผมจะใช้คุณสมบัติ RadioButton.Selected เพื่อควบคุมแอปพลิเคชันตามความต้องการ แอปพลิเคชันเหล่านี้ยังคงทำงานได้ตามปกติ


อย่างไรก็ตาม เมื่อไม่นานมานี้ ผมต้องการอัปเดตแอปพลิเคชันที่ผมได้สร้างเลย์เอาต์ไว้ใน Designer โดยการเพิ่ม RadioButton เพียงปุ่มเดียว ผมรู้สึกประหลาดใจมากที่พบว่า RadioButton ไม่สามารถสลับได้ เมื่อเลือกแล้วจะไม่สามารถยกเลิกการเลือกได้


ทำไมถึงมีพฤติกรรมที่แตกต่างกัน และจะทำอย่างไรให้ RadioButton เดียวที่เพิ่มเข้าไปในเลย์เอาต์ที่ Designer สร้างขึ้นมีพฤติกรรมการสลับที่ต้องการได้

ตามเอกสารอ้างอิงนี้ "RadioButton ที่ไม่อยู่ใน ToggleGroup สามารถเลือกและยกเลิกการเลือกได้" ซึ่งเป็นฟังก์ชันที่ผมต้องการ ผมสมมติว่า Designer กำหนด RadioButton ให้กับ ToggleGroup โดยอัตโนมัติ ในขณะที่ Scene Builder ไม่กำหนดไว้ตามค่าเริ่มต้น และต้องกำหนดให้กับ ToggleGroup ด้วยตนเอง ซึ่งต้องการฟังก์ชันการทำงานของกลุ่ม RadioButton ดังนั้น วิธีแก้ปัญหาคือการตั้งค่าคุณสมบัติ ToggleGroup เป็น Null สำหรับ RadioButton ที่เพิ่มเข้ามาผ่าน Designer"

 
Last edited:
Top