在CursorAdapter
的getView()
中,有一个参数position
,所以我可以检查这个position
,我如何在bindView()
上做同样的事情呢?它在BindView
中没有position
参数。
当前,我正在覆盖我读到并听说是错误的newView()
、bindView()
和getView()
,或者覆盖getView()
或newView()
和 bad
谢谢。
发布于 2013-01-28 13:38:21
尝尝这个
public void bindView(View arg0, Context arg1, Cursor arg2)
{
int pos = arg2.getPosition();
}
发布于 2016-08-22 20:30:34
编码器的答案是正确的,cursor.getPosition()就可以了。但是如果有人需要在listitems子项的onClick事件中定位,例如listItem中的图标,解决方案是在图标上放置一个位置作为setTag,并在事件发生时检索它:
@Override
public void bindView(View vw, Context ctx, final Cursor cursor) {
/* ...
* do your binding
*/
ImageView icon = (ImageView) vw.findViewById(R.id.your_icon);
icon.setTag(cursor.getPosition()); // here you set position on a tag
icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// use a tag to get the right position
((MainActivity) context).onIconClick((int)v.getTag());
}
});
}
发布于 2013-01-28 15:29:59
@Override
public void bindView(View view, Context context, Cursor cursor) {
// TODO Auto-generated method stub
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup view) {
// TODO Auto-generated method stub
int mCount = cursor.getCount();
//Returns Total count(Rows) in cursor
int currentPostion= cursor.getPosition();
//Returns the current position of the cursor in the row set
}
https://stackoverflow.com/questions/14554667
复制相似问题