Ho un RecyclerView con GridLayoutManager, con 2 colonne per riga. Perché lo sviluppo è per Android TV, quindi ho bisogno di concentrarsi per navigare.Strange Android RecyclerView (GridLayoutManager) comportamento di messa a fuoco
E 'ok se sto usando premuto il tasto per navigare tutti gli elementi visibili. Ad esempio, Articolo 1 -> Articolo 3 -> Articolo 5 -> Articolo 7 (Solo parzialmente visibile.). Ma quando si preme di nuovo premuto il tasto, l'attenzione si sposterà alla voce 10, invece di 9.
La mia griglia adattatore di vista è:
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);
}
}
}
Qualsiasi idea di come risolvere questo problema? Grazie.
hai fatto a finire risolvere questo? Questo ha rovinato la mia vita negli ultimi due mesi. – Dreamingwhale
No, non ho ancora trovato nessuna soluzione. Ma non è molto critico nella mia applicazione, quindi l'ho tenuto lì. Spero che qualcuno possa risolvere il problema un giorno. –
I documenti di navigazione dicono "Il framework Android applica automaticamente uno schema di navigazione direzionale basato sulla posizione relativa degli elementi focalizzabili nei vostri layout." Puoi impostare nextFocusDown, nextFocusUp, ecc. Nell'adattatore in qualche modo? – Elrond