- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Android 中有一个 Activity ,它获取网络服务的结果并将其放入适配器以显示项目列表。我为此创建了一个名为 OnLoadCompleteListener
的监听器接口(interface),我的此 Activity 的监听器看起来像
mListener = new OnLoadCompleteListener() {
@Override
public void onPostExecute(RootWebService service) {
if(service instanceof WebService) {
//gets the number of items
int total = ((WebService) service).getCount();
for(int i=0; i<total; ++i) {
//Log.d("ITEM", "inserting " + i);
Item item = ((WebService) service).get(i);
//our adapter class automatically receives items
mAdapter.addItem(item);
}
}
}
};
现在这是奇怪的一点:监听器被击中,total
被设置为 12(我要求的项目数)然后 for 循环被完全绕过。适配器保持空白,屏幕几乎不显示任何内容。
但是,如果注释掉的 Log.d(...)
调用处于 Activity 状态,则循环有效。
为什么?回调从 UI 线程运行,getCount()
方法返回正确的值,并且此适配器以前工作过。到底发生了什么?
对了,mAdapter
是我专门写的Adapter
的子类实例,addItem(Item)
方法看起来像这样:
public synchronized void addItem(Item item) {
mItems.add(item);
notifyDataSetChanged();
}
mItems
正是您所期望的。
最佳答案
我相信您需要执行类似 invalidate
的操作或类似的操作,这几乎只是刷新适配器中的数据。
我认为是这个。
myListView.getAdapter().notifyDataSetChanged();
如果这不起作用,那可能是...
myListView.invalidate();
关于java - For循环在Android中被遗漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029527/
我正在尝试运行某人给我的一些 C++ 代码。起初有一个指向 istream 文件的断开链接,我通过添加包含路径修复了这个问题: C:\Program Files (x86)\Embarcadero\R
谁能告诉我如何防止 .git 目录的内容被上传到 PyPi。我的 MANIFEST.in 看起来像这样: global-include *.py *.js *.rst *.html *.css *.l
最近在 typescript 项目的VSCode中遇到如下情况: 文件:some-interface.ts // no import statements have been skipped. Thi
为我找到这个问题的合适标题有点困难,所以也许这个例子会澄清我的问题。 我正在发出 ajax 请求以将一些变量从 JS 传递到 PHP。这些变量之一是带有一些选项的 URL,即 https://www.
我是一名优秀的程序员,十分优秀!