मेरे पास प्रति पंक्ति 2 कॉलम के साथ, GridLayoutManager के साथ एक RecyclerView है। चूंकि विकास एंड्रॉइड टीवी के लिए है ताकि मुझे नेविगेट करने के लिए फोकस की आवश्यकता हो।अजीब एंड्रॉइड रीसाइक्लर व्यू (ग्रिडलाउट मैनेजर) फोकस व्यवहार
यह अगर मैं किसी भी दिखाई आइटम पर नेविगेट करने कुंजी दबाए उपयोग कर रहा हूँ ठीक है। उदाहरण के लिए, आइटम 1 -> आइटम 3 -> आइटम 5 -> आइटम 7 (केवल आंशिक रूप से दृश्यमान।)। लेकिन जब मैं फिर से कुंजी दबाए दबाते हैं, तो ध्यान केंद्रित मद 10 के बजाय 9 पर आ जाएगा
मेरे ग्रिड दृश्य एडाप्टर है:
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);
}
}
}
किसी भी विचार कैसे इस समस्या को हल करने के लिए? धन्यवाद।
आप इस सुलझाने खत्म किया? यह पिछले महीने या दो के लिए मेरे जीवन को गड़बड़ कर रहा है। – Dreamingwhale
नहीं, मुझे अभी तक कोई समाधान नहीं मिला है। लेकिन यह मेरे आवेदन में बहुत महत्वपूर्ण नहीं है इसलिए मैंने इसे वहां रखा है। उम्मीद है कि कोई व्यक्ति किसी दिन इस मुद्दे को हल कर सकता है। –
नेविगेशन दस्तावेज़ यह कहते हैं "एंड्रॉइड फ्रेमवर्क स्वचालित रूप से आपके लेआउट में फोकस करने योग्य तत्वों की सापेक्ष स्थिति के आधार पर एक दिशात्मक नेविगेशन योजना लागू करता है।" क्या आप किसी भी तरह अपने एडाप्टर में अगली फोकसडाउन, अगली फोकसअप आदि सेट कर सकते हैं? – Elrond