Android-TV: So kehren Sie den Fokus auf das Element zurück, bevor Sie es verlassen, wenn der Fokus von zwei Listenansichten gewechselt wird

 Verwenden Sie dies einfach für das Layout und fügen Sie einfach eine onFocusChanged-Methode hinzu

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

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

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

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public myListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }


    @Override
    protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
        int lastSelectItem = getSelectedItemPosition();
        super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
        if (gainFocus) {
            setSelection(lastSelectItem);
        }
    }

}

verwenden

        <cn.titansys.waylon.ui.listview.myListView
            android:background="#60000000"
            android:id="@+id/lv_list"
            android:layout_width="200dp"
            android:layout_marginBottom="200px"
            android:layout_marginLeft="100px"
            android:layout_height="800px"
            android:listSelector="@drawable/item_focus_sub_left" />

Supongo que te gusta

Origin blog.csdn.net/title71/article/details/130647301
Recomendado
Clasificación