我正在使用自定义适配器并将其包裹在cwac-endless适配器周围。问题是正在忽略包装条件,并且无限地调用cacheInBackground()内的方法。我附上了相关的代码。请给我一个解决方案。谢谢。
@Override
protected boolean cacheInBackground() {
SystemClock.sleep(100); // pretend to do work
try {
msg=getMsgs();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("count", " "+ getWrappedAdapter().getCount());
return(getWrappedAdapter().getCount()<100);
}
@Override
protected void appendCachedData() {
if (getWrappedAdapter().getCount()<100) {
@SuppressWarnings("unchecked")
MsgAdapter a=(MsgAdapter)getWrappedAdapter();
for(String s:msg)
{
Log.d("msg", s);
}
}
}
}
答案 0 :(得分:0)
我在自定义适配器中修复了与getCount()逻辑有关的错误。修复它使代码完美运行。