2011-10-19 82 views
0

由於locaion(網絡或gps)需要一段時間才能接收,因此如何在列表視圖中使用位置數據。如果列表視圖在創建時填充,則通常該位置尚未找到,並且將爲空。在android列表視圖中獲取位置的最佳方式

構建這種類型的視圖來呈現列表視圖,然後用位置數據填充行是最好的方法嗎?

如果是這樣或者沒有,最好的方法是什麼?你將如何使用代碼示例來實現?

回答

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"); 
相關問題