我想要的是在创建列表时隐藏第一个位置
但是如果用户滚动列表以显示隐藏的项目
我试图在创建列表后隐藏第一个项目但有时候列表只有两个项目所以它不滚动我怎样才能实现?
listview.post(new Runnable() {
@Override
public void run() {
listview.setSelection(1);
}
});
列表至少可以包含行。
答案 0 :(得分:0)
您可以尝试的一件事是跳过适配器中的第一个元素,当滚动ListView时,使用新项目(包括第一个项目)切换旧项目。 E.g:
final List<String> items = new ArrayList<String>();
List<String> itemsFirstSkipped = items.subList(1, items.size()-1);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
itemsFirstSkipped);
listView.setAdapter(adapter);
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Make sure at least 1 item is scrolled
if (firstVisibleItem>0) {
adapter.clear();
adapter.addAll(items);
// notifyDataSetChanged is called by default
}
}
});