import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; import androidx.recyclerview.widget.RecyclerView; import com.android.internal.app.AlertController; public class MyRecyclerView extends RecyclerView { private int mlastFocusPosition = 0; public MyRecyclerView(Context context) { super(context); } public MyRecyclerView(Context context, AttributeSet attrs) { super(context, attrs); } public MyRecyclerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void requestChildFocus(View child, View focused) { super.requestChildFocus(child, focused); if (child != null) { mlastFocusPosition = getChildViewHolder(child).getAdapterPosition(); } } @Override public boolean requestFocus(int direction, Rect previouslyFocusedRect) { View lastFocusedview = getLayoutManager().findViewByPosition(mlastFocusPosition); if (lastFocusedview != null) { lastFocusedview.requestFocus(); return false; } return super.requestFocus(direction, previouslyFocusedRect); } }
RecyclerView返回上次焦点位置
最新推荐文章于 2023-12-02 21:51:16 发布