ฉันสับสนเล็กน้อยว่าเหตุการณ์สำคัญ (ปุ่มย้อนกลับ ปุ่มปรับระดับเสียง) เกี่ยวข้องกับ Views ใน Android อย่างไร
ยกตัวอย่างปัญหาที่ฉันมีในปัจจุบัน:
ทำงานได้ดี
- สร้างเค้าโครง (เช่น เค้าโครงแบบสัมพันธ์)
- เพิ่มมุมมองลงในเค้าโครง (A GL SurfaceView)
- เรียกใช้แอปและรอให้ทุกอย่างโหลด (และสำหรับการสร้าง GLSurfaceView)
- กดปุ่มโฮม
- เปิดแอปอีกครั้ง
- กดกลับเพื่อออก
ใช้งานไม่ได้
- สร้างเค้าโครง (เช่น เค้าโครงแบบสัมพันธ์)
- เพิ่มมุมมองให้กับเค้าโครง
- เรียกใช้แอปและกดปุ่มโฮมก่อนที่ GLSurfaceView จะสร้าง/แสดงโดยสมบูรณ์
- เปิดแอปใหม่อย่างรวดเร็วอีกครั้ง ก่อนที่ GLSurfaceView จะสร้าง/แสดงโดยสมบูรณ์
- รอให้ SurfaceView ปรากฏขึ้น
- แม้ว่ากิจกรรมการสัมผัสจะทำงานได้ ปุ่มใช้งานไม่ได้อีกต่อไปและไม่สามารถออกจากแอปได้
ทำไมเป็นเช่นนี้? มีวิธีที่จะดึงความสนใจกลับไปที่มุมมองนี้หรือไม่? (หาก 'โฟกัส' เป็นคำศัพท์ที่ถูกต้องในตัวอย่างนี้)
ฉันพยายามแล้ว
myGLView.requestFocus();
ฉันได้ลองวิธีการอื่น ๆ มากมาย แต่ดูเหมือนว่าจะไม่ทำงาน - ต้องมีวิธีที่ง่ายและรวดเร็วเพื่อให้แน่ใจว่าเหตุการณ์สำคัญทำงานกับ GLSurfaceView ที่มองเห็นได้ในปัจจุบัน