У меня есть recycleview, который содержит более 10 элементов внутри. Поскольку он содержит более 10 элементов, он отображает только 4 элемента одновременно. Проблема возникает с TalkBack, я хочу перебирать список с помощью перетаскивания влево/вправо, но после 4. фокус предмета переходит к другим компонентам представления в макете. Как я могу перебирать все элементы recycleview с помощью Talkback?Android итерации Скрытые элементы RecycleView с TalkBack
Edit: Я использую свой собственный делегат доступности, как это:
mRecyclerView.setAccessibilityDelegate(mAccessibilityDelegate);
public class AccessibilityDelegate extends View.AccessibilityDelegate {
private Assistant mAssistant;
public AccessibilityDelegate(Assistant assistant)
{
mAssistant = assistant;
}
@Override
public void sendAccessibilityEvent(View host, int eventType) {
if(!mAssistant.isSpeaking() && mAssistant.isRecognizerAvailable())
{
super.sendAccessibilityEvent(host, eventType);
}
}
@Override
public boolean performAccessibilityAction(View host, int action, Bundle args) {
if(!mAssistant.isSpeaking() && mAssistant.isRecognizerAvailable())
{
return super.performAccessibilityAction(host, action, args);
}
return false;
}
@Override
public void sendAccessibilityEventUnchecked(View host, AccessibilityEvent event) {
super.sendAccessibilityEventUnchecked(host, event);
}
@Override
public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
return super.dispatchPopulateAccessibilityEvent(host, event);
}
@Override
public void onPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
super.onPopulateAccessibilityEvent(host, event);
}
@Override
public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(host, event);
}
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(host, info);
}
@Override
public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event) {
return super.onRequestSendAccessibilityEvent(host, child, event);
}
@Override
public AccessibilityNodeProvider getAccessibilityNodeProvider(View host) {
return super.getAccessibilityNodeProvider(host);
}
}
ли вам по ошибке своей очереди пообщаться? и пытается выйти из этого. или сделать какое-то приложение для работы? –
Нет, я хочу разработать приложение с функциями accessiblity. – dnkilic