Android: пользовательский адаптер с 2 раскладками - PullRequest
1 голос
/ 27 апреля 2011

Мне нужно отобразить мои данные в 2 разных режимах: средний и большой. У меня есть специальный адаптер и отображение данных в виде списка. когда я нажимаю на элемент списка, я начинаю новую деятельность. С макетом в моем адаптере все работает отлично. Теперь я пытаюсь переключаться между двумя макетами в адаптере: я устанавливаю режим просмотра адаптера и затем вызываю notifyDataSetChanged:

    ticketsAdapter.setViewMode(ViewMode.Large);
    ticketsAdapter.notifyDataSetChanged();

это также работает, и теперь я могу видеть больше информации (у большого расположения строки больше поля, чем у среднего представления). Проблема в том, что измените этот щелчок на элементах списка, он больше не работает. В методе getView из моего адаптера я делаю что-то вроде этого:

LayoutInflater li = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        switch (viewMode) {
        case Large:
            v = li.inflate(R.layout.row_large, null);
            break;
        case Medium:
            v = li.inflate(R.layout.row_medium, null);
            break;
        default:
            v = li.inflate(R.layout.row_medium, null);
            break;
        }

Может ли кто-нибудь помочь?

Исправлено:

У меня было одно текстовое представление с:

android:inputType="text"

и это вызвало проблему. Tx

...