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



我想滚动到listview中的特定位置,但我必须在适配器类中完成。我使用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);

如果您想获得列表中特定项目的位置查看:

myListView.getItemAtPosition(i);

也就是这个CCD_ 2;

}

如果要在适配器中设置,请尝试在适配器类中获取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;
}

最新更新