Android的 – 如何获取位置在像getView中的bindView?

CursorAdapter getView()中,有一个参数position所以我可以做一个检查的position ,我怎么能在bindView()上做同样的事情,它在BindView没有position参数。

目前我重写newView()bindView()getView() ,我读和听到是坏的,要么重写getView()newView()getView()

谢谢。

  • 我用什么CursorAdapter?
  • Android - ViewHolder模式在CursorAdapter中自动实现吗?
  • ListView使用两个cursoradapters?
  • 在ListView中的CursorAdapter
  • 从CursorAdapter.get()返回对象
  • 分页列表和CursorLoader
  • Android的 - 防止在SearchView的build议文字截断?
  • Android:如何使用CursorAdapter?
  • 尝试这个

     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 }