在getView()
的{{1}}中,有一个参数CursorAdapter
,因此我可以对position
进行检查,如何在position
上执行此操作它在bindView()
中没有position
参数。
目前我正在覆盖BindView
,newView()
和bindView()
我听说不好,要么覆盖 getView()
或 getView()
和newView()
。
感谢。
答案 0 :(得分:35)
试试这个
public void bindView(View arg0, Context arg1, Cursor arg2)
{
int pos = arg2.getPosition();
}
答案 1 :(得分:4)
codeboys的回答是正确的,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());
}
});
}
答案 2 :(得分:0)
@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
}