Android 如何在适配器类中滚动到Listview中的特定位置?
我想在listview中滚动到一个特定的位置,但我必须在adapter类中这样做。我使用Android 如何在适配器类中滚动到Listview中的特定位置?,android,listview,baseadapter,Android,Listview,Baseadapter,我想在listview中滚动到一个特定的位置,但我必须在adapter类中这样做。我使用getItem()方法找出我必须滚动到的项目,如下所示 public class PropertyListAdapter extends BaseAdapter { ...... @Override public Object getItem( int position ) { if ( mPositionType[ position ] == DisplayType.Proper
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);
还有这个列表视图.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;
}
您可以在适配器类中创建一个变量来引用listview。问题是我无法在适配器类中获取myListView实例。我必须在adapter类中进行此操作。@AadhilAhmed请告诉我您想要滚动的条件。