【发布时间】:2011-03-17 00:47:30
【问题描述】:
我正在尝试为我的应用程序构建一个 RSS 提要阅读器,但我遇到了一个奇怪的问题。为了实现这个提要,我使用了一个从自定义的 ArrayList 中填充的 ListView。
我知道 ArrayList 中包含我想要显示的所有字段(我在我的 Logcat 中打印所有字段),但是当我运行应用程序时,并非我的 ListView 中的所有单元格都填充了它们应该显示的信息到,它们的主要部分显示TextView。它似乎很随机,但始终正确工作的是第一个元素。其他的有时会这样做。
另外一个奇怪的事情是 OnItemClickListener 可以完美运行,即使我无法看到元素中的信息。
非常感谢您。
我附上我的 getView 代码:
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
AdapterWrapper wrapper;
if (v == null) {
LayoutInflater li = (LayoutInflater) this.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = li.inflate(R.layout.itemrow, null);
wrapper = new AdapterWrapper(v, cont);
v.setTag(wrapper);
} else {
wrapper = (AdapterWrapper) convertView.getTag();
RssItem o = this.getItem(position);
if (o != null)
wrapper.populateFrom(o);
parent.refreshDrawableState();
}
return v;
}
【问题讨论】:
-
我们需要看代码。
-
你说你“定制”了一个 ArrayList 是什么意思?
-
对不起,我的意思是我扩展了一个 ArrayAdapter
-
而且我没有发布任何代码,因为我不知道错误在哪里,并且发布所有类似乎不是一个好的选择。
-
我得到了它的工作,我有一个 { 不应该在 else 字之后。