Задать вопрос
  • Почему постоянно переходит только в первую группу?

    @n4d3sh1k
    1. У тебя при каждом новом вызове onAccessibilityEvent() обновляется список групп, и переменная groupImages перезаписывается. Если количество групп изменилось (например, подгружается по мере прокрутки), то индексы сбиваются, и ты снова кликаешь по первой.
    Тебе нужно обновлять groupImages только один раз, а не каждый раз при событии.

    Типо в этом участке кода:
    if (groupsTabClicked && !imageClicked && !isPostingInProgress) {
    // Завжди оновлюємо список груп перед кліком
    List updatedGroups = findAllGroupImages(root);
    if (updatedGroups.isEmpty()) {
    showToast("⚠️ Не знайдено жодної групи");
    Log.d(TAG, "⚠️ Не знайдено жодної групи");
    return;
    }

    // Перевірка: чи індекс не вийшов за межі
    if (currentGroupIndex >= updatedGroups.size()) {
    showToast("✅ Усі групи пройдені");
    Log.d(TAG, "✅ Усі групи пройдені");
    return;
    }

    groupImages = updatedGroups;

    Log.d(TAG, "clickNextGroup currentGroupIndex = " + currentGroupIndex + ", total groups = " + groupImages.size());
    clickNextGroup();
    return;
    }

    Сделай что-то типо этого:
    if (groupsTabClicked && groupImages == null && !isPostingInProgress) {
    groupImages = findAllGroupImages(root);
    if (groupImages.isEmpty()) {
    showToast("Не знайдено жодної групи");
    return;
    }
    Log.d(TAG, "Знайдено стiльки груп: " + groupImages.size());
    clickNextGroup();
    return;
    }

    2. Я не сильно понял логику кода, но поищи, не сбрасывается ли где-то currentGroupIndex. Типо он может при каждом запуске onAccessibilityEvent() выставляться в нуль и переход по групам происходить не будет.
    Ответ написан
    Комментировать