在getView()
中CursorAdapter
,有一个参数position
,所以我可以做一个检查,position
我怎么能对它做同样的bindView()
事情,没有position
参数BindView
。
目前我正在覆盖newView()
,bindView()
而getView()
我阅读和听到的内容很糟糕,要么覆盖getView()
ORnewView()
和getView()
.
谢谢。
在getView()
中CursorAdapter
,有一个参数position
,所以我可以做一个检查,position
我怎么能对它做同样的bindView()
事情,没有position
参数BindView
。
目前我正在覆盖newView()
,bindView()
而getView()
我阅读和听到的内容很糟糕,要么覆盖getView()
ORnewView()
和getView()
.
谢谢。
试试这个
public void bindView(View arg0, Context arg1, Cursor arg2)
{
int pos = arg2.getPosition();
}
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());
}
});
}
@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
}