마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

GridView 갱신이 되지 않습니다.

0 추천

아래와 같이 직접  deviceItems라는 ArrayList에 추가를 한뒤 갱신을 하면 보입니다.

 

deviceItems.add(new DeviceItem("Hi"));

deviceItems.add(new DeviceItem("Second"));

 

adapter = new DeviceGridViewAdapter(getApplicationContext(), 

R.layout.grid_device_item, deviceItems);

 

gvDevice.setAdapter(adapter);

 

그런 다음 DB에서 가져옵니다. ( Thread를 통해 데이터를 가져옵니다. )

 

deviceItems = JSONParser.getMyDevice(sb.toString());

 

// 여기서 GridView에 디바이스 리스트를 띄워줄 것이야.

runOnUiThread(new Runnable() {

  public void run() {

    Comm.LOG("runOnUiChange : " + deviceItems);

 

    adapter.notifyDataSetChanged();

  }

});

 

쓰레드 내부이고, 쓰레드 내부에서 갱신을 시키려고 하는데 

위와 같이 하면 갱신이 되어야하는데 갱신되지 않습니다 ㅜㅜ

(파싱된 값을 잘 나옵니다.)

쓰레드 내부에 

deviceItems.add(new DeviceItem("Hi"));

이런식으로 직접 데이터를 입력해도 들어가지 않더라구요.

 

제 예상으로는 adapter가 data를 갱신하지 못하는걸로 판단되는데

어떻게 해결해야 좋을까요?

Goni2 (770 포인트) 님이 2015년 3월 2일 질문

1개의 답변

0 추천
자문 자답입니다.

 

adapter에 엮어논 deviceItems에 add를 해서 추가를 해줘야 하는데

add를 하지 않고 파싱한 값을 넣어버려서 문제가 된 것 같습니다.

 

감사합니다.
Goni2 (770 포인트) 님이 2015년 3월 2일 답변
...