小编Ant*_*ton的帖子

如何使用ArrayAdapter为ListView编写自定义过滤器

我有一个ListView连接到ArrayAdapter,其中Artist是我的一个简单类,它只有一个id和一个名字.

现在我想过滤ListView,所以我打电话:

artistAdapter.getFilter().filter("bla", new Filter.FilterListener() {
    public void onFilterComplete(int count) {
        Log.d(Config.LOG_TAG, "filter complete! count: " + count); // returns 8
        Log.d(Config.LOG_TAG, "adapter count: " + artistAdapter.getCount()); // return 1150
    }
});
Run Code Online (Sandbox Code Playgroud)

第一个调试语句打印的计数为8.这是以"bla"开头的listitems的正确计数,但是适配器没有得到它.第二个调试语句打印一个计数1150项.这是列表中的完整项目数.

因此,过滤器不会告诉适配器它已经过滤了底层数据.

我现在想知道:我的适配器中是否有代码,以便从过滤器获取更新?我必须编写自定义过滤器吗?我需要做什么?

android listview android-arrayadapter

14
推荐指数
2
解决办法
1万
查看次数

Gunicorn工人超时

我在Nginx后面的Gunicorn中运行了一个Django应用程序.一切正常,可以解决一件奇怪的事情:我有一个"下载"视图和一个RESTful json API.调用下载视图时,我使用urllib2访问json API以获取信息.并且当我尝试对json api执行此http请求时,请求超时,出现错误HTTP错误504:网关超时.

当我使用./manage.py运行服务器运行代码时,一切正常.对json api的http get请求也只需几毫秒,因此没有遇到超时的危险.

这里的伪代码情况:

myproject/views.py:(可访问:http://myproject.com/download)

1   def download(request, *args, **kwargs):
2       import urllib2
3       opener = urllib2.build_opener()
4       opener.open('http://myproject.com/api/get_project_stats')
Run Code Online (Sandbox Code Playgroud)

第四opener.open()行中的调用在Gunicorn中运行时会进入超时状态,当./manage.py runserver每次运行时运行正常(并且api调用只需要几毫秒).

有没有人有同样的问题?更重要的是:你是如何解决的?

django timeout nginx gunicorn

12
推荐指数
1
解决办法
6720
查看次数

Django-utils @async装饰和gunicorn无法正常工作

我使用djutils @async装饰器异步调用函数.当我使用标准./manage.py runserver命令启动我的服务器时,这很有效.但是当我在gunicorn下运行我的django应用程序并且我用@async装饰器调用该函数时根本没有任何事情发生...

我查看了djutils异步装饰器的代码,它添加并反对python标准的Queue,并生成一个或多个线程来使用队列.

任何人有想法或提示我应该在哪里看下一步,让我的@async功能在gunicorn中运行?gunicornn是否正在改变python线程实现的标准实现?

django asynchronous gunicorn

6
推荐指数
1
解决办法
1301
查看次数