0

arrayadapter를 사용하여 listview를 채우고 싶습니다. 현재는 simpleadapter를 사용하고 있습니다. 나는 내 어댑터를 변경하려는 이유는 내가 notifyDataSetChanged() 메서드를 사용할 수 있도록 그래서 아무도 내 코드를 사용하여 어떻게 할 표시 할 수 있습니까? 나는 정말로 고마워 할 것이다.arrayadapter를 사용하여 listview에 항목 추가하기

+0

데이터가 서버에서 다시로드되거나 그 시간에 해당 데이터를 변경할 때. 먼저 데이터를 다운로드하거나 데이터를 변경하십시오. 두 번째 호출 - adapter.notifiydatastatechange(). –

+0

목록에서 Adapter의'ListAdapter.this.notifyDataSetChanged()'함수를 호출해야합니다. – GrIsHu

+0

@Grishu 나는 그 방법을 사용하고 그것을 아래 setListAdapter (어댑터); 하지만 여전히 행운 이클립스는 notifyDataSetChanged() 메소드를 인식하지 못한다. 내 simpleadapter. – jun

답변

1

notifyDataSetChanged()는 SimpleAdapter 및 ArrayAdapter의 부모 클래스 인 BaseAdapter 메소드이다. SimpleAdapter 및 ArrayAdapter는 주로 AdapterView에 제공된 데이터와 다릅니다. SimpleAdapter가 XML 데이터로 뒷받침되는 동안 ArrayAdapter는 임의의 데이터 배열로 뒷받침됩니다. 즉, 어댑터 유형을 변경할 필요가 없습니다.

이제 설명서에는 SimpleAdapter가 "정적 데이터를보기에 매핑하는 쉬운 어댑터"라고 나와 있으며 자세한 내용은 예를 들어. here. 그러나 사실 SimpleAdapter는 동적 데이터에서도 작동합니다.

ArrayAdapter로 전환하려면 ArrayAdapter가 행당 하나의 TextView 만 지원하기 때문에 ArrayAdapter의 getView() 메소드를 덮어 써야합니다. 단일 값에 대한 여러 값의 매핑을 지원하는 SimpleAdapter와 달리 열). ArrayAdapter에 대한 수많은 자습서가 있습니다 (예 : 이 하나 : http://www.vogella.com/articles/AndroidListView/article.html#adapterown_example.

+0

jeez 엉덩이에 그런 고통, 난 그냥 내 코드에서 작동하지 않을 수 notifyDataSetChanged() 메서드를 사용하려면, 내 목표는 자동으로 내 목록에 새로 고침 내 피드에 새 데이터가있을 때마다입니다 . – jun

+0

앱이 데이터 피드 변경에 대해 어떻게 그리고 어디에서 통보합니까? –

+0

메신저 rssfeed 같은이 응용 프로그램을 사용하여, 그게 내가 알림을받을 싶지/새로운 데이터가 수신되면 내 listview 새로 고칠 때, 왜냐하면 내가 언제 내 응용 프로그램을 새로 고쳐야 할 때 일반적으로 내 응용 프로그램을 닫고 열고 .. – jun

관련 문제