Как лучше всего обработать жест броска для Android ListActivity

В моем последнем задании я пошел немного глубже в перечислимой версии:

public enum Messages {
    @Error
    @Text("You can''t put a {0} in a {1}")
    XYZ00001_CONTAINMENT_NOT_ALLOWED,
    ...
}

@Error, @Info, @Warning сохраняются в файле класса и доступны во времени выполнения. (У нас было несколько других аннотаций, чтобы помочь описать доставку сообщений также)

, @Text является аннотацией времени компиляции.

я записал процессор аннотации для этого, которое сделало следующее:

  • Проверяют, что нет никаких дублирующихся номеров сообщения (часть перед первым подчеркиванием)
  • Проверка синтаксиса, текст сообщения
  • Генерирует messages.properties файл, который содержит текст, включенный перечислением значений.

я записал несколько обслуживающих процедур, которые помогли зарегистрировать ошибки, обернуть их как исключения (при желании) и т.д.

я пытаюсь заставить их позволять мне открытый исходный код это... - Scott

6
задан Community 23 May 2017 в 12:10
поделиться

1 ответ

Попробуйте использовать AbsListView.pointToPosition () , чтобы определить элемент списка для координаты X, Y в вашем представлении списка.

Если вы используете рецепт из # 937313 , вы должны иметь возможность переопределить onFling () примерно следующим образом:

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    try {
        Toast.makeText(listAdapter.getItem( listView.pointToPosition( (int) e1.getX(), (int) e1.getY() ).toString() );
        return super.onFling();
    } catch( Exception e ) {
        // do nothing
    }
}
14
ответ дан 8 December 2019 в 17:24
поделиться
Другие вопросы по тегам:

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