如何滚动到 Adapter class 内的 Listview 中的特定位置?
How to scroll to a particular position in a Listview inside Adapter class?
我想滚动到列表视图中的特定位置,但我必须在适配器内执行此操作 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 );
}
......
现在如何滚动到 class 本身内的那个位置?
如果您只想让列表滚动到特定位置:
myListView.smoothScrollToPosition(i);
如果您想获取特定项目在 listView 中的位置:
myListView.getItemAtPosition(i);
还有这个listView.getVerticalScrollbarPosition(i)
;
}
如果您想在适配器中设置,则尝试在适配器 class 中获取 ListView
参考 下面是用于在适配器 class 中查找 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;
}
我想滚动到列表视图中的特定位置,但我必须在适配器内执行此操作 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 );
}
......
现在如何滚动到 class 本身内的那个位置?
如果您只想让列表滚动到特定位置:
myListView.smoothScrollToPosition(i);
如果您想获取特定项目在 listView 中的位置:
myListView.getItemAtPosition(i);
还有这个listView.getVerticalScrollbarPosition(i)
;
}
如果您想在适配器中设置,则尝试在适配器 class 中获取 ListView
参考 下面是用于在适配器 class 中查找 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;
}