gpt4 book ai didi

android - 如何更新 fragment ?

转载 作者:行者123 更新时间:2023-11-29 01:27:39 24 4
gpt4 key购买 nike

我的 Messanger 应用程序具有包含 2 个 fragment 的主/详细流程布局。我使用了 Android Studio 提供的模板。当 ListFragment 位于前台并且新用户登录时,ListView 不会立即更新并且用户不会出现在列表中。当我选择不同的 Activity 并返回到 ListFragment 时,列表会更新。

这是我存储数据的地方。如果有新用户登录,将调用 addUser 方法并将该用户添加到列表和 map 中。

public static List<ChatContent> ITEMS = new ArrayList<ChatContent>();

public static Map<String, ChatContent> ITEM_MAP = new HashMap<String, ChatContent>();

protected static void addUser(ChatContent userChatContent) {
ITEMS.add(userChatContent);
ITEM_MAP.put(userChatContent.user, userChatContent);
}

这就是我在 ListFragment 的 onCreate 方法中设置 listAdapter 的方式。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

ArrayAdapter arrayAdapter = new ArrayAdapter<ChatData.ChatContent>(
getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
ChatData.ITEMS);

setListAdapter(arrayAdapter);

}

仅供引用:当我在 detailsFragment 上并且一条新的聊天消息到达时,同样的事情会发生:除非我离开 Activity 并回来,否则消息不会出现。

最佳答案

当您更新数据时,您应该使用这些代码来更新 UI。

arrayAdapter.notifyDataSetChanged();

关于android - 如何更新 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028367/

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