gpt4 book ai didi

android - 可以动态更改 ListView 的适配器吗?

转载 作者:IT老高 更新时间:2023-10-28 21:49:19 24 4
gpt4 key购买 nike

我想根据需要更改 ListViewArrayAdapter,而不是创建多个 Activity 。我在 API 中没有看到任何提及关于是否可以多次调用 setAdapter()

更具体地说,假设我想启动一个具有 ListView 的 Activity 。在此示例中,ListView 使用 listView.setAdapter(this) 进行初始化,例如来自 CategoryArrayAdapter

然后用户选择一个类别。在不启动新 Activity 的情况下,代码将为同一 ListView 设置新适配器。新的适配器,比如 ItemArrayAdapter 调用 listView.setAdapter(this)

是否有人有成功完成此操作的经验或知道不应该这样做的具体原因?

最佳答案

I don't see any mention in the API about whether or not it is okay to call setAdapter() more than once.

简单的答案是肯定的,我以前也做过类似的事情。

这正是 Adapter 的原因存在并在 API 中提供。每个列表项的实际内容(模型)及其呈现方式( View )是在 android.widget.Adapter 内部隔离和实现的,而不是直接绑定(bind)到 android.widget.AdapterView。只要您的适配器正确实现,您就可以交换/更改绑定(bind)到 ListView 的实际底层适配器,只需调用 setAdapter() 方法即可。

关于android - 可以动态更改 ListView 的适配器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com