Что делает registerNatives (), метод делает?

Ответ @tobi_b не совсем успешен, так как он не плавно скользит от последнего к первому (по крайней мере, в моем испытании). Но я был действительно вдохновлен его ответом. Мое решение заключается в том, что пора переходить от поддельного последнего к реальному первому, подождать, пока не закончится последняя прокрутка. Вот мой код, это очень просто,

private final class MyPageChangeListener implements OnPageChangeListener {

    private int currentPosition;

    @Override
    public void onPageScrollStateChanged(int state) {
        if (state == ViewPager.SCROLL_STATE_IDLE) {
            if (currentPosition == viewPager.getAdapter().getCount() - 1) {
                viewPager.setCurrentItem(1, false);
            }
            else if (currentPosition == 0) {
                viewPager.setCurrentItem(viewPager.getAdapter().getCount() - 2, false);
            }
        }
    }

    @Override
    public void onPageScrolled(int scrolledPosition, float percent, int pixels) {
        //empty
    }

    @Override
    public void onPageSelected(int position) {
        currentPosition = position;
    }

}

Однако, это решение не идеально. Он имеет небольшой недостаток при быстром скольжении от последнего к первому. Если мы скользим дважды за очень короткое время, второй слайд будет недействительным. Эту проблему нужно решить.

68
задан Aurelio De Rosa 2 January 2012 в 15:08
поделиться

1 ответ

Другие ответы технически верны, но не очень полезны для тех, кто не имеет опыта JNI. : -)

Обычно, чтобы JVM могла найти ваши собственные функции, они должны быть названы определенным образом. например, для java.lang.Object.registerNatives соответствующая функция C называется Java_java_lang_Object_registerNatives . поскольку их обычно нельзя найти стандартным механизмом поиска методов. Регистрация собственных функций также может использоваться для «перепривязки» собственного метода к другой функции C (полезно, если ваша программа поддерживает, например, динамическую загрузку и выгрузку модулей).

Я призываю всех прочитать книгу JNI ], в котором говорится об этом и многом другом. : -)

105
ответ дан 24 November 2019 в 14:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: