를 업데이트 나던이 내 코드입니다 사용자에게 나타납니다 ......adapter.notifyDataSetChange() 내 어댑터
내 문제는이 방법을 사용하여 업데이트하지 않는다는 것입니다.
감사합니다.
를 업데이트 나던이 내 코드입니다 사용자에게 나타납니다 ......adapter.notifyDataSetChange() 내 어댑터
내 문제는이 방법을 사용하여 업데이트하지 않는다는 것입니다.
감사합니다.
활동을 재개 할 때마다 어댑터를 작성하지 마십시오. onCreate()
에서 한 번 작성한 다음 notifyDataSetChanged()
(onResume()
)으로 전화하십시오.
하지만 가장 큰 문제는 onResume()에 새 어댑터를 만들고 ListView에 연결하지 않는다는 것입니다. 당신이 그대로 코드를 유지해야하는 경우 당신은 당신이 이렇게 onCreate(...)
에서 onResume()
감사합니다! 나는 그것이이 방법으로 작동하고 있다는 것을 몰랐습니다 ........ 이제 당신이 의미하는대로 모든 코드를 변경하려고합니다 .... – zapotec
에 새 어댑터를 만든 후, 그 일에 ...
adaptador = new ListaAdapter(this, listaCompras);
setListAdapter(adaptador);
을 setListAdapter(adaptador)
를 추가, 당신은에 대한 참조를 전달하는 ListView
- 해당 참조는 new...
을 호출하여 생성 된 ListAdapter
입니다. 이 작업을 수행 onResume()
에서
...
adaptador = new ListaAdapter(context, listaCompras);
adaptador.notifyDataSetChanged();
... 편지 adaptador
새로운 ListAdapter
하지만 ListView
자체는 여전히 onCreate(...)
에서 인스턴스화 첫 ListAdapter
에 대한 참조를 유지하고에 새로운 기준을 가지고 .
가장 쉬운 방법은 onCreate(...)
에서 코드를 완전히 제거하고 onResume()
이 ListAdapter
을 만들고 setListAdapter(...)
을 호출하도록 처리하는 것입니다.
응용 프로그램이 다시 시작될 때마다 nwe 어댑터를 생성하는 것은 꽤 어렵습니다. 낭비. 한번만 만들어야합니다. – Mimminito
@Mimminito : OK - 나는 잘못했다고 말했습니다. 나는 항상 어댑터가'null'인지 아닌지를 확인하기 위해'onResume()'에 체크를하고 필요하다면 어댑터를 사용하도록 ListView를 만들고 설정한다. 필자의 지적은 데이터가 자주 바뀔 수 있기 때문에 onCreate (...)가 아니라 onResume()에서 이런 종류의 일을하는 것이 가장 좋다는 것입니다. – Squonk
물론 확인하는 것은 좋은 습관입니다. 나는 사람들이 응용 프로그램이 재개 될 때마다 새로운 자원을 생성하는 느낌을 얻지 못하게하는 것이 명확하게 해 주셔서 감사합니다. – Mimminito
onResume 메소드가 의도 한대로 실제로 실행되면 로그에서 확인 했습니까? – dan
코드 공유하기 ListaAdapter – Blackbelt