LongClick событие также вызывает событие Click

голоса
14

Я использую onLongClick и OnClick события кнопки для получения данных, вводимых пользователем. Всякий раз, когда; пользователь Длинное нажатие и запускает onLongClick событие, событие OnClick также срабатывает. Я не мог найти мою проблему. Код двух методов приведены в ниже:

@Override
    public void onClick(View v) {
        switch(((Button) v).getId())
        {
        case R.id.enter:
            EntertheNumber();
            break;
        case R.id.clear:
            CleartheNumber();
            break;
        case R.id.number_zero:
        case R.id.number_one:
        case R.id.number_two:
        case R.id.number_three:
        case R.id.number_four:
        case R.id.number_five:
        case R.id.number_six:
        case R.id.number_seven:
        case R.id.number_eight:
        case R.id.number_nine:
            AddtotheNumber(mEditor, (Button) v);
            break;
        }
@Override
    public boolean onLongClick(View view) {
        if(SMBGuesstheNumber.bDisplayFlagList)
        {
            theActiveButton = (Button) view;
            showDialog(R.id.display_flaglist);
        }
        return false;
    }

На самом деле, мой проект Open Source. Таким образом, вы можете найти весь код на http://code.google.com/p/guessthenumber/

Спасибо.

Задан 12/04/2009 в 19:31
источник пользователем
На других языках...                            


2 ответов

голоса
33

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

Вы также можете превратить эти события и выключение с помощью setClickable (логического) и setLongClickable (логический)

Вы можете найти эту информацию и многое другое о событиях UI здесь .

Ответил 12/04/2009 в 20:12
источник пользователем

голоса
0

вот краткое резюме относительно сенсорного события: http://rxwen.blogspot.com/2010/10/android-touch-event-summary.html

Ответил 20/10/2010 в 07:13
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more