我的(tabhost)Android 应用程序中有两个 ListView。两者都带有自定义 BaseAdapter。两个 ListView 都在请求 JSON 流。加载 JSON 流时,自定义 BaseAdapter 正在调用 notifyDataSetChanged。
当我使用 ListView 选择其中一个选项卡时,列表会完美加载,当我选择其中包含另一个列表的另一个选项卡时,列表不会加载。我选择标签的顺序无关紧要。当我选择 tab1 时,tab1 被加载,而 tab2 将无法加载列表。当我首先选择选项卡 2 时,将加载选项卡 2 的列表,当我选择选项卡 1 时,此列表将失败。
加载 JSON 流时,在自定义 BaseAdapter 中调用此方法:
@Override
public void jsonObjectLoaded(JSONObject a) {
setItems((JSONArray) a.get("categories"));
for(int c = 0; c<getItems().size(); c++)
imgs.add(null);
progressDialog.dismiss();
notifyDataSetChanged();
}
getView() 方法在第一个选定的选项卡上第一次调用,它不会在第二个选定的选项卡上调用。我究竟做错了什么?
提前致谢!