所以我为安卓创建了一个短信用户界面。它处理消息线程的方式是,当我点击发送时,它会发送消息,创建一个新的消息线程,然后将此消息添加到我的对话视图的相应实例中。
ConverseView 是一个只有 onCreate(Bundle) 方法的活动。此方法创建一个适配器并使用 ArrayList 中的值填充该适配器。当用户点击发送时,数组列表会添加一条消息。然而,这些并没有出现在视图中。
我相信问题是,正在创建活动,然后我添加了一条消息,并且 ListView 没有更新。我怎样才能解决这个问题。
所以我为安卓创建了一个短信用户界面。它处理消息线程的方式是,当我点击发送时,它会发送消息,创建一个新的消息线程,然后将此消息添加到我的对话视图的相应实例中。
ConverseView 是一个只有 onCreate(Bundle) 方法的活动。此方法创建一个适配器并使用 ArrayList 中的值填充该适配器。当用户点击发送时,数组列表会添加一条消息。然而,这些并没有出现在视图中。
我相信问题是,正在创建活动,然后我添加了一条消息,并且 ListView 没有更新。我怎样才能解决这个问题。
使用ArrayAdapter adapter;
由ArrayList
. 要在修改 ArrayList 后更新列表中的数据,只需调用adapter.notifyDataSetChanged()
.
在此处查看有关生命周期的更多信息。
本质上,onStart(Bundle state)
是在 Activity 启动后调用。这意味着活动是活跃的并且响应 a) 应用程序和 b) Android 本身。
onResume(Bundle state)
表示活动即将显示到屏幕上。这是您应该完成您必须做的任何 UI 工作的地方。
至于您的数据未显示,您需要调用Adapter.notifyDataSetChanged()
以推动您的适配器重绘。如果没有此调用,您的适配器将不会(以图形方式)更新。