2013-03-21 4 views
0

Я новичок в android, и у меня проблема с ListView. Мой ListView загружает данные из службы REST, а затем с использованием этих данных ListView заполняется. Я хочу добавить что-то lke OnItemClickListener/OnSelectedItemListener на каждый элемент и когда пользователь клики на элементе хочет добавить кнопку. Кнопка должна исчезнуть, когда пользователь нажмет на другой элемент. Есть идеи?Update ListView item on click/select

[EDIT] Что я пробовал?

  1. Я создать LinearView который содержит ListView и кнопки
  2. ListView заполняется в деятельности с использованием данных REST службы (TextView используется для просмотра)
  3. Я думаю, что мой OnClickListener класс может выглядеть следующим образом, но Я не знаю, как я могу добавить кнопки (лучший будет создать один объект Button AMD показать только на выбранном элементе - Я думаю, что это будет bebetter производительность)

    общественного класса RoomClickListener реализует OnItemClickListener {

    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
        Button b = new Button(arg0.getContext()); 
        b.setText("Join"); 
    } 
    

    }

+0

Звуковой сигнал OnItemClickListener, как хорошее начало, что вы пробовали? Отправьте свой текущий код и любую ошибку, которую вы испытываете. – Sam

+0

Вам нужна «кнопка» для каждого элемента или только одна для всего? – codeMagic

+0

Я хочу создать список с TextView. Когда пользователь нажимает на TextView, я хочу показать Button под этим TextView, но когда пользователь нажимает на другой TextView, я хочу показать кнопку под этим TextView и т. Д. – pepuch

ответ

1

ли вы пробовали играть с android:visibility вашей кнопки?

Сделать это видимым/невидимым может быть способ сделать это, я думаю.

+0

Нет, у меня нет, потому что я думаю, что лучше будет добавлять кнопку динамически. Я прав? Должен ли я добавлять кнопки к каждому элементу и показывать их onclick? – pepuch

+0

Я действительно не знаю, какое решение лучше, но я думаю, что вы можете надуть кнопку на выбранный вами вид. Чтобы удалить его, установите видимость на GONE, чтобы сделать трюк. –

+0

@pepuch Что предлагает Damien лучше всего. Установите видимость кнопки, которая находится в xml, и когда событие запускает i.e onItemClick, установите видимость видимой кнопки – Pragnani

0

Добавить button и позвонить по номеру invalidate() на view, который изменился.

Это должно сработать.