แก้ไขข้อความที่โฟกัสได้ภายใน ListView
จนถึงตอนนี้ฉันใช้เวลาประมาณ 6 ชั่วโมงและไม่มีอะไรเหลือเลยนอกจากสิ่งกีดขวางบนถนน หลักฐานทั่วไปคือมีบางแถวในListView(ไม่ว่าจะสร้างโดยอะแด็ปเตอร์หรือเพิ่มเป็นมุมมองส่วนหัว) ที่มีEditTextวิดเจ็ตและไฟล์Button. สิ่งที่ฉันต้องการทำก็คือสามารถใช้ jogball / ลูกศรเพื่อนำทางตัวเลือกไปยังแต่ละรายการเหมือนปกติ แต่เมื่อฉันไปที่แถวใดแถวหนึ่ง - แม้ว่าฉันจะต้องระบุแถวอย่างชัดเจน - ที่มีโฟกัสได้ เด็กฉันต้องการให้เด็กคนนั้นโฟกัสแทนที่จะระบุตำแหน่งด้วยตัวเลือก ฉันได้ลองใช้ความเป็นไปได้มากมายและจนถึงตอนนี้ก็ยังไม่มีโชค รูปแบบ: <ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent" /> มุมมองส่วนหัว: EditText view = new EditText(this); listView.addHeaderView(view, null, true); สมมติว่ามีรายการอื่นในอะแด็ปเตอร์การใช้ปุ่มลูกศรจะย้ายส่วนที่เลือกขึ้น / ลงในรายการตามที่คาดไว้ แต่เมื่อไปที่แถวส่วนหัวจะแสดงด้วยตัวเลือกและไม่มีวิธีใดที่จะมุ่งเน้นไปที่การEditTextใช้ jogball หมายเหตุ: การแตะที่EditText จะโฟกัสไปที่จุดนั้น แต่ต้องอาศัยหน้าจอสัมผัสซึ่งไม่ควรเป็นข้อกำหนด ListViewเห็นได้ชัดว่ามีสองโหมดในเรื่องนี้: 1. setItemsCanFocus(true)ตัวเลือกจะไม่ปรากฏขึ้น แต่EditTextสามารถรับโฟกัสได้เมื่อใช้ลูกศร อัลกอริธึมการค้นหาโฟกัสยากที่จะคาดเดาและไม่มีการตอบกลับด้วยภาพ (ในแถวใด ๆ : มีลูกที่โฟกัสได้หรือไม่มี) รายการใดที่ถูกเลือกซึ่งทั้งสองอย่างนี้สามารถให้ประสบการณ์ที่ไม่คาดคิดแก่ผู้ใช้ได้ …