19

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

目前我正在覆盖newView()bindView()getView()我阅读和听到的内容很糟糕,要么覆盖getView()ORnewView()getView().

谢谢。

4

3 回答 3

36

试试这个

public void bindView(View arg0, Context arg1, Cursor arg2)
{
    int pos = arg2.getPosition();
}
于 2013-01-28T05:38:21.400 回答
5

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());
        }
    });
}
于 2016-08-22T12:30:34.443 回答
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
}
于 2013-01-28T07:29:58.653 回答