2011-10-19 7 views
0

위치 (네트워크 또는 GPS) 수신에 시간이 걸리기 때문에 어떻게 목록보기에서 위치 데이터를 사용합니까? create시 목록보기가 채워지면 위치가 아직 발견되지 않고 null이됩니다.안드로이드 목록보기에서 위치를 얻는 가장 좋은 방법

이보기 유형을 구성하여 목록보기를 렌더링 한 다음 그 행을 위치 데이터로 채우는 가장 좋은 방법은 무엇입니까?

만약 그렇다면 최선의 접근 방법은 무엇입니까? 코드 예제로 어떻게 구현합니까?

답변

0

데이터 목록이있는 ListView를 설정하고 데이터가 변경되면이를 알릴 수 있습니다. 여기에 예제가 있습니다.

ArrayList<String> myData = new ArrayList<String>(); 
ListView myListView = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 

    myListView = (ListView)findViewById(R.id.mylistview); 
    myListView.setAdapter(new ArrayAdapter<String>(this, R.id.textlayout, myData)); 
} 

내가 수행 한 작업은 목록보기를 가져 와서 빈 배열 목록으로 어댑터를 설정하는 것이 었습니다. 이제 목록보기 데이터를 업데이트 할 때마다 다음을 수행합니다.

myData.add("My new location"); 
myListView.getAdapter().notifyDataSetChanged(); 

목록보기가 업데이트됩니다. 이를 수행하는 또 다른 방법은 전달 된 목록 대신 어댑터에 데이터를 직접 추가하는 것입니다.

myArrayAdapter.setNotifyOnChange(true); 
myArrayAdapter.add("My new location"); 
관련 문제