Android 如何将ListView滚动到位置
我有20个项目。我使用scrollTo0,getListViewHeightlistView,5滚动位置5 错误显示为5到11。我不想让第五场演出结束。怎么办?。 我调用adapter.notifyDataSetChanged;没有疫苗。 如何显示从位置5到结尾的项目 It代码:Android 如何将ListView滚动到位置,android,android-listview,Android,Android Listview,我有20个项目。我使用scrollTo0,getListViewHeightlistView,5滚动位置5 错误显示为5到11。我不想让第五场演出结束。怎么办?。 我调用adapter.notifyDataSetChanged;没有疫苗。 如何显示从位置5到结尾的项目 It代码: @InjectView(R.id.list_item) ListView listView; String[] values = new String[]{"1",
@InjectView(R.id.list_item)
ListView listView;
String[] values = new String[]{"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo_scroll_by_load_adapter);
ButterKnife.inject(this,
this);
final ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
values);
listView.setAdapter(adapter);
listView.scrollTo(0,
getListViewHeight(listView,
5));
// adapter.clear();
// adapter.addAll(values);
// listView.requestLayout();
}
private int getListViewHeight(ListView list,
int position) {
int listviewHeight = 0;
list.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED,
View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED));
listviewHeight = list.getMeasuredHeight() * position + (position * list.getDividerHeight());
return listviewHeight;
}
编辑
使用以下命令:
listView.postnew可运行{
@覆盖公共无效运行{
listView.smoothScrollToPositionFromTop5,0,1;
}
};
哦,谢谢。你能帮助我吗。listView.smoothScrollToPositionFromTop18,0,1;我要18号位置在上面。相同位置5.listView.smoothScrollToPositionFromTop18,0,1;工作,在我的屏幕上显示元素14到22,因为它不能滚动超过最后一个元素