首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓-如何像在getView中一样在bindView中获得位置?

安卓-如何像在getView中一样在bindView中获得位置?
EN

Stack Overflow用户
提问于 2013-01-28 10:32:11
回答 3查看 14.8K关注 0票数 19

CursorAdaptergetView()中,有一个参数position,所以我可以检查这个position,我如何在bindView()上做同样的事情呢?它在BindView中没有position参数。

当前,我正在覆盖我读到并听说是错误的newView()bindView()getView(),或者覆盖getView()newView() bad

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-28 13:38:21

尝尝这个

代码语言:javascript
复制
public void bindView(View arg0, Context arg1, Cursor arg2)
{
    int pos = arg2.getPosition();
}
票数 36
EN

Stack Overflow用户

发布于 2016-08-22 20:30:34

编码器的答案是正确的,cursor.getPosition()就可以了。但是如果有人需要在listitems子项的onClick事件中定位,例如listItem中的图标,解决方案是在图标上放置一个位置作为setTag,并在事件发生时检索它:

代码语言:javascript
复制
@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());
        }
    });
}
票数 5
EN

Stack Overflow用户

发布于 2013-01-28 15:29:59

代码语言:javascript
复制
@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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14554667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档