2012-04-05 3 views
1

Я хочу получить функцию, которая обновляет только одну ячейку GridView В настоящее время я использую baseAdapter.notifyDataSetChanged(), который обновляет всю сетку, и я должен это делать, даже если у меня есть только ячейка имеющие разные данные Как это сделатьОбновление одной ячейки в базовом адаптере в android

+0

Не можете ли вы просто вызвать метод getView 'адаптера напрямую? – dldnh

+0

Да, я пробовал это, но это не обновляет данные на экране – Raheel

ответ

0

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

  int prevcurr = gridview.getFirstVisiblePosition(); 
      Adap.notifyDataSetChanged(); 
      try { 
       Thread.sleep(1); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
      gridview.requestFocusFromTouch(); 
      gridview.setSelection(prevcurr); 
0

Перед внесением изменений в ячейку. После использования этого кода (для меня это о GridView)

adapterForImage.notifyDataSetChanged(); 
    gridview.setAdapter(adapterForImage); 
+0

Что такое адаптерForImage? – Raheel

+0

CustomAdapter adapterForImage; Это класс для адаптации (в моем случае) макета N раз в gridview. –

Смежные вопросы