- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在设置自定义 ListView。
下拉刷新功能直接来自 https://github.com/chrisbanes/Android-PullToRefresh
ListView 显示图像,所以我创建了一个自定义适配器:
class mAdapter extends BaseAdapter{
public mAdapter(Context context){
// nothing to do
}
@Override
public int getCount() {
return mValues.size();
}
@Override
public Object getItem(int position) {
return mValues.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public boolean areAllItemsEnabled()
{
return false;
}
@Override
public boolean isEnabled(int position)
{
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.list_item, null);
}
ImageView iv = (ImageView) v.findViewById(R.id.imageView);
if(iv != null){
displayImageInView(iv);
iv.setClickable(true);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "ImageView", Toast.LENGTH_SHORT).show();
}
});
}
return v;
}
}
在 onCreate() 中,我获取 listView 并分配适配器:
mListView = (PullToRefreshListView) findViewById(R.id.listView);
mListView.setAdapter(new mAdapter(context));
之后我将图像添加到 mValues(从网络加载图像的 url)并在适配器上调用 notifiyDataSetChanged。
在 mListView.onRefresh() 中,我将图像添加到 mValues。
这对于添加第一张图像,甚至是第一组图像(在调用 mAdapter.notifyDataSetChanged() 之前)非常顺利。刷新指示器按预期显示和隐藏。
当我尝试在此之后添加另一个图像(或一堆)时,奇怪的事情开始发生。
刷新指示器显示,图像显示在 ListView 中。
但是:在那之后刷新指示器再也不会隐藏了。 “onRefreshComplete()”被调用,但第二次似乎无法正常工作。
UI 线程没有阻塞,所以操作仍然是可能的。如果我删除mValues中的所有项目,通知适配器并再次拉动刷新,正确添加图像,并且正确隐藏刷新指示器。
结论:只有在刷新前列表为空时,下拉刷新才会正确隐藏。
我真的不知道去哪里寻找这个奇怪错误的解决方案。
也许熟悉 Chirs Banes 的 Pull-To-Refresh 库的人可以帮助我。
谢谢!
最佳答案
我只是自己想出来的-.-
对于任何感兴趣的人:
您必须从 UI 线程设置 onRefreshComplete。使用处理程序从 onRefresh() 内部发布它。 <- 顺便说一句,它在一个单独的线程上运行。
祝你有美好的一天。
关于android - 带有自定义适配器错误的 Chris Banes PullToRefreshListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516288/
我是克里斯的书中的新手,这是一个问题。 在第65页的最后一段中提到使用适当的集合类型,因为它们提供强类型。 有人可以解释一下这是什么意思,因为下面的示例看起来像我通常要做的事情,因此我试图使用更好的做
这是代码片段 xhr.onreadystatechange = function(){ if(xhr.readyState == 3){ console.log("readyState
我正在设置自定义 ListView。 下拉刷新功能直接来自 https://github.com/chrisbanes/Android-PullToRefresh ListView 显示图像,所以我创
在我的项目中,继上一个关于从github导入某个库的问题之后,我决定实现另一个库,但是在这一点上我得到了很多错误。 Importing Android Listview refresh by pull
我正在使用 Chris Banes ActionBar-PullToRefresh。我可以通过下拉布局来开始刷新 - 一切都很好。 但是我如何以编程方式强制开始刷新动画(进度动画)?或者我如何以编程方
我有一个用于自定义字体的书法库,它似乎适用于除 android Q 之外的所有版本,它会在启动时使我的应用程序崩溃。最近有其他人不得不处理同样的问题吗?这是我的崩溃报告: Caused by: and
我正在尝试使用 Chris Richards jQuery rating我发现它非常有用且易于使用,但我也需要有一半的评级,而该插件没有。有什么修改可以实现这个功能吗? 我无法使用this因为该文件使
我刚刚浏览了 Chris Coyer 的自定义事件示例,并遇到了以下代码: $.fn.faq = function(options) { return this.each(function(i
我有一个用于自定义字体的书法库,它似乎适用于除 android Q 之外的所有版本,它在启动时使我的应用程序崩溃。最近还有其他人不得不处理同样的问题吗?这是我的崩溃报告: Caused by: and
Chris Lomont 非常友好地为我们提供了使用 C# 的简洁 FFT 实现。出处可见here . RealFFT(double[] data, bool forward) 函数执行了一半,请阅读
我正在尝试更改研究人员实体用于创建配置文件的默认元数据。我按照此页面上的说明进行操作:https://wiki.duraspace.org/display/DSPACECRIS/How+to+coll
Chris Coyier 写了一个 excellent article通过将 HTML 表格结构化为列表来使 HTML 表格在移动设备上更好。我喜欢这种方法,但我处理的表格是动态的,我不能像他那样真正
我已经实现(从这里- horizontal swipe on listview )滑动手势来标记-取消标记 ListView 中的项目。我使用了 Johan Nilsson 的 pull to ref
我在我正在构建的网站上使用 Chris Coyier 的全宽 hack,但对如何让 div 具有它包含的任何内容的高度感到困惑。 通常我会通过将 overflow:auto 添加到容器中来实现这一点,
当我尝试在 ubuntu 服务器 13.04 上安装 node.js 时,我将收到以下错误消息: sudo add-apt-repository ppa:chris-lea/node.js无法访问 P
我无法理解公式, 公式中的W(window)和intensity是什么意思, 我在opencv doc中找到了这个公式 http://docs.opencv.org/trunk/doc/py_tuto
我试图在 Fragment 中包含 Chris Banes Pull 以刷新实现,但在创建 PullToRefreshListView 时出现以下错误: java.lang.NoSuchFieldEr
我一直在尝试通过 Chris Pine 的“学习编程”一书来学习 ruby。在读到第 10 章和使用的示例之前,我真的很兴奋。现在,仅这一章及其示例就完全消除了我继续阅读本书的所有兴奋。在这个例子
我看到的两个优势是redis的版本和安全性,但是,对于比较了解redis的人有什么优势吗? 最佳答案 使用 PPA 的主要优势在于,一旦推送软件更新,您就可以得到它。 至于安全性,我不会说这是 PPA
我最近在我的公司继承了一个遗留的模拟框架,它是在 2000 年代初期编写的,当时主要作者正在从 C 和 Fortran 过渡到 C++。接口(interface)/实现架构遵循 Dave Abraha
我是一名优秀的程序员,十分优秀!