เปลี่ยนโฟกัสไปที่ View (ปุ่ม) จาก ViewGroup (รายการ ListView)

ฉันมี ListView ที่มีจำนวนรายการ 'N' และแต่ละรายการ (ViewGroup) ในรายการมีมุมมองบางอย่างเช่น Image View, Text View และปุ่มไม่กี่ปุ่มดังที่แสดงในภาพด้านล่าง

https://drive.google.com/file/d/0B0cUDScxLAxfRXRNemphazhPd1k/view?usp=sharing

ความต้องการของฉันคือในขณะที่เลื่อนใน ListView ถ้าฉันกดปุ่มซ้าย/ขวาใน D-Pad จากนั้นปุ่มซ้ายสุดหรือขวาส่วนใหญ่ควรโฟกัสและโฟกัสไปที่มุมมองรายการทั้งหมด รายการควรหายไป

ฉันได้ลองใช้ android:nextFocusDown() ใน xml และ setNextFocusDownId(int)

แต่ไม่ทำงาน

ฉันจำเป็นต้องเพิ่มพารามิเตอร์อื่นใน xml/java หรือไม่

หมายเหตุ: ฉันมี D-pad ในแอปพลิเคชัน/อุปกรณ์ของฉัน


person Raju-san    schedule 26.08.2015    source แหล่งที่มา


คำตอบ (1)


ฉันบรรลุเป้าหมายนี้ด้วยการสร้าง 'CustomListView'

ฉันขยาย ListView ใน CustomListView

public class CustomListView extends ListView
{
public CustomListView(Context context)
{
    super(context);
}

public CustomListView(Context context, AttributeSet attrs)
{
    super(context, attrs);
}

public CustomListView(Context context, AttributeSet attrs, int defStyleAttr)
{
    super(context, attrs, defStyleAttr);
}

public CustomListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
{
    super(context, attrs, defStyleAttr, defStyleRes);
}

และฉันแทนที่ onKeyDown และ onKeyUp และฉันกำลังตั้งค่าเป็น setItemsCanFocus และ setDescendantFocusability

หวังว่าโซลูชันของฉันจะช่วยคุณได้

person Raju-san    schedule 28.08.2015