【发布时间】:2011-06-28 17:28:05
【问题描述】:
我有一个非常简单的 Activity,它扩展了 ListActivity。 我正在重写方法 onListItemClick 执行一些自定义操作。
我在日志中看到的是适配器方法getView 在我单击列表项后被调用(我也将其覆盖以使我的列表由自定义视图组成)。
现在,我想知道这是否是正确的行为。如果是我可能有问题。
问题是我的列表项有图像,这些图像是从 Web 获取的,当我单击列表项时,对适配器的调用会导致对 Web 的调用刷新列表中的图像并出于某种原因将它们弄乱.
任何人都可以遮光吗?
这是我的getView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ContentListItemView cv = null;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(this.context);
convertView = (RelativeLayout) inflater.inflate(this.layout, null);
cv = new ContentListItemView(convertView);
} else {
cv = (ContentListItemView) convertView.getTag();
}
Log.d(this.getClass().getSimpleName(), "position: " + position);
cv.init(getItem(position));
convertView.setTag(cv);
return convertView;
}
这是我的OnListItemClick
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//Log.d(this.getClass().getSimpleName(), position + " " + id);
Intent contentDetailsIntent = new Intent(this, ContentDetailsActivity.class);
contentDetailsIntent.putExtra("com.tamtamy.jatta.content_list_item_selected", position);
contentDetailsIntent.putExtra("com.tamtamy.jatta.datasource", ContentDetailsActivity.CONTENT_LIST);
contentDetailsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(contentDetailsIntent);
}
【问题讨论】:
-
适配器是一个对象。不调用对象。方法被调用。我建议您修改您的问题以修复您的“适配器被调用”语句,以绝对准确地确定适配器上正在调用的方法。
-
我做了,现在更清楚了吗?你能帮帮我吗?
标签: android listactivity listadapter