Android - ListView未更新

时间:2012-12-31 00:17:37

标签: android android-layout android-listview

有人请解释为什么我在对话框(AlertDialog)之后保存应用程序设置(SharedPreferences),并以下列方式更新ListAdapter项目中的数据mListItems.get(viewPosition).setValue(prefsIntValue);mListItems - 是main的成员活动)。关闭对话框窗口后,ListView中的视图更新,当我尝试在方法onActivityResult中做同样的事情时(更新完成其他活动的数据),什么也没有换句话说,视图没有更新。答案就在这里notifyDataSetChanged example,但为什么第一种情况(在对话框之后)有效??

UPD:notifyDataSetChanged方法中更改列表数据后调用onActivityResult有帮助!但请有人解释为什么在第一种情况下,在保存偏好时,它有效吗?!

1 个答案:

答案 0 :(得分:0)

找到答案,因为在关闭AlertDialog窗口后调用方法onWindowFocusChanged http://androidxref.com/4.2_r1/xref/frameworks/base/core/java/android/widget/AbsListView.java#2646,通过在上面的方法中调用layoutChildren来重新绘制布局列表视图,其中发生了所有的魔法