Кнопка Android-изображения ведет себя странно - PullRequest
0 голосов
/ 12 октября 2011

Я создаю каркас приложения для планшетов Android, и у меня возникают странные проблемы с некоторыми кнопками ImageButton.Эти кнопки (Next & Prev) используются для навигации по «страницам содержимого» как части фреймворка и используют настраиваемые фоновые рисунки.

Проблема в том, что всякий раз, когда я нажимаю кнопку «Предыдущая», кнопка «Далее» подсвечивается, а кнопка «Предыдущая» - нет.Сначала я думал, что это простая ссылка или @ + id / проблема, но выполняется кнопка «Предыдущая», а не кнопка «Следующая».

Вот соответствующий код:

In onCreate (Методбез везения.Самое смешное, что раньше он работал просто отлично ... но даже возвращение к предыдущей версии моего проекта, похоже, совсем не помогло.

Кто-нибудь сталкивался с этой проблемой раньше или имеет представление о том, что можетможет быть причина этого?

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

Решено!глупо, глупо, я ...

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

Это:

<item android:state_enabled="false" android:drawable="@drawable/prev_arrowhigh"/>

Должно было быть:

<item android:state_enabled="false" android:drawable="@drawable/prev_arrow"/>

потрачено два дня, потому чтоневерного изображения ... * вздох *

0 голосов
/ 12 октября 2011

Решение, которое вы можете попробовать, это установить атрибут onClick в вашем представлении. Решение может выглядеть так:

Метод onCreate:

nextButton = (ImageButton) findViewById(R.id.nextButton);
prevButton = (ImageButton) findViewById(R.id.prevButton);

новые методы для Деятельности:

public void nextButton(View v)
{
    if(_cpp == null || _cpp.nextRes.equalsIgnoreCase(""))
    {
        finish();
        return;
    }

    // load next page
    _tempRes = _cpp.nextRes;
    //start transition out animations
    fadePageOut();
}

public void prevButton(View v)
{
    if(_cpp == null)
    {
        finish();
        return;
    }

    if (!_cpp.prevRes.equalsIgnoreCase(""))
    {
        // load next page
        _tempRes = _cpp.nextRes;
        //start transition out animations
        fadePageOut();
    }
}

и добавьте: андроида: OnClick = "nextButton" Android: OnClick = "prevButton"

к вашим кнопкам в xml-файле

...