繁体   English   中英

如何在Adapter类内滚动到Listview中的特定位置?

[英]How to scroll to a particular position in a Listview inside Adapter class?

我想滚动到列表视图中的特定位置,但是我必须在适配器类中进行操作。 我使用getItem()方法来找出必须滚动到的项目,如下所示。

public class PropertyListAdapter extends BaseAdapter {

......

@Override
    public Object getItem( int position ) {
        if ( mPositionType[ position ] == DisplayType.Properties ) {

            return getPropertyForPosition( position - mSectionPositionAdjustment[ DisplayType.Properties.ordinal() ] );
        }

        return mPositionType[ position ];
    }

    @Override
    public long getItemId( int position ) {
        return position;
    }

    @Override
    public View getView( int position, View convertView, ViewGroup parent ) {
        return getDisplayView( position, convertView, parent );
    }

......

现在我如何滚动到此类本身内的那个位置?

如果只希望列表滚动到特定位置:

myListView.smoothScrollToPosition(i);

如果要获取特定项目在listView中的位置,请执行以下操作:

myListView.getItemAtPosition(i);

还有这个listView.getVerticalScrollbarPosition(i) ;

}

如果要在适配器中进行设置,则尝试在适配器类中获取ListView引用,下面是在适配器类中查找ListView的代码。 看一看

  // See this method of your adapter
 // The parent is the view you are looking for
    public override View GetGroupView(int groupPosition, bool isExpanded, 
     View convertView, ViewGroup parent)
    {
        ListView view = (ListView)parent;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM