Tôi có một RecyclerView với GridLayoutManager, với 2 cột mỗi hàng. Vì sự phát triển dành cho Android TV nên tôi cần tập trung để điều hướng.Strange Android RecyclerView (GridLayoutManager) hành vi tập trung
Đó là ok nếu tôi đang sử dụng phím để di chuyển đến bất kỳ mục hiển thị. Ví dụ: Mục 1 -> Mục 3 -> Mục 5 -> Mục 7 (Chỉ hiển thị một phần.). Nhưng khi tôi nhấn phím một lần nữa, trọng tâm sẽ chuyển sang mục 10 thay vì 9.
My lưới xem bộ chuyển đổi là:
public class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> {
private ArrayList<String> mDataset;
public GridAdapter(ArrayList<String> myDataset) {
mDataset = myDataset;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.grid_item, viewGroup, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.txtTitle.setText(mDataset.get(position));
}
@Override
public int getItemCount() {
return mDataset.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView txtTitle;
public ViewHolder(View v) {
super(v);
txtTitle = (TextView) v.findViewById(R.id.title);
}
}
}
Bất kỳ ý tưởng làm thế nào để giải quyết vấn đề này? Cảm ơn.
Cậu kết thúc giải quyết này? Điều này đã làm rối tung cuộc sống của tôi trong một hoặc hai tháng qua. – Dreamingwhale
Không, tôi chưa tìm thấy giải pháp nào. Nhưng nó không phải là rất quan trọng trong ứng dụng của tôi vì vậy tôi chỉ giữ nó ở đó. Hy vọng ai đó có thể giải quyết vấn đề một ngày nào đó. –
Tài liệu điều hướng nói điều này "Khung nền Android tự động áp dụng lược đồ điều hướng hướng dựa trên vị trí tương đối của các phần tử có thể đặt tiêu điểm trong bố cục của bạn". Bạn có thể đặt nextFocusDown, nextFocusUp, v.v. trong bộ điều hợp của bạn bằng cách nào đó không? – Elrond