아래와 같이 직접 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를 갱신하지 못하는걸로 판단되는데
어떻게 해결해야 좋을까요?