2011-10-19 48 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"); 
相关问题