由于位置(网络或 gps)需要一段时间才能接收,因此如何在列表视图中使用位置数据。如果在创建时填充了列表视图,则通常该位置尚未找到并且将为空。
构建这种类型的视图以呈现列表视图然后随后用位置数据填充行的最佳方法是什么?
如果是或不是,最好的方法是什么?您将如何通过代码示例实现这一点?
由于位置(网络或 gps)需要一段时间才能接收,因此如何在列表视图中使用位置数据。如果在创建时填充了列表视图,则通常该位置尚未找到并且将为空。
构建这种类型的视图以呈现列表视图然后随后用位置数据填充行的最佳方法是什么?
如果是或不是,最好的方法是什么?您将如何通过代码示例实现这一点?
您可以使用其数据列表设置 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");