在 Android 列表视图中获取位置的最佳方法

发布于 2024-12-10 12:52:08 字数 161 浏览 1 评论 0原文

由于位置(网络或 GPS)需要一段时间才能接收,那么如何在列表视图中使用位置数据。如果在创建时填充列表视图,则通常尚未找到该位置并且将为空。

构建此类视图以呈现列表视图,然后使用位置数据填充行的最佳方法是吗?

如果是或不是,最好的方法是什么?您将如何通过代码示例来实现这一点?

Since the locaion (network or gps) takes a while to receive, how would one use location data in a list view. If the list view is populated on create, often the location is not yet found and would be null.

Is the best way to architect this type of view to render the list view and then subsequently populate the rows with the location data?

If so or if not, what is the best approach? How would you implement this with code examples?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音栖息无 2024-12-17 12:52:08

您可以设置一个 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");

You can setup a ListView with its data list and notify it when the data has changed. Here's an example.

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));
}

What I did was get my list view and setup the adapter with an empty array list. Now, anytime I want to update the list views data, I do the following.

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

The list view will be updated. Another way to do this is to add the data straight to the adapter instead of the list passed in.

myArrayAdapter.setNotifyOnChange(true);
myArrayAdapter.add("My new location");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文