我在ListView中有10個項目。 有時我不希望用戶能夠看到第一個列表項目。 所以第二個應該像第一個。Android:ListView,最小滾動位置
如何防止用戶滾動到第一項? 或者也許有更好的解決方案或現成的API來做到這一點?
PS:HeaderView不是爲我工作
我在ListView中有10個項目。 有時我不希望用戶能夠看到第一個列表項目。 所以第二個應該像第一個。Android:ListView,最小滾動位置
如何防止用戶滾動到第一項? 或者也許有更好的解決方案或現成的API來做到這一點?
PS:HeaderView不是爲我工作
最好的解決辦法是簡單地從列表中刪除(臨時)項目(或者你正在使用哪個集合),然後重新填寫ListView控件:
listView.notifyDataSetChanged();
你可以做的另一件事是返回一個空的觀點時,你的「位置== 0」,這樣的第一個項目將不會顯示你還可以在條件在這裏所說的「notifyDataSetChanged()」方法會改變。
爲什麼這是「最佳解決方案」? – 2014-10-22 10:06:19
簡單,有效,很難打破你的代碼。我也沒有看到任何其他簡單的方法。對於像這個imho這樣簡單的事情,使用監聽器是非常複雜的。 – Squeazer 2014-10-22 10:16:18
是的,它很簡單,是的它是有效的。但是,您會記得getView對所有可見的視圖不必要的。如果您在適配器上下載圖像,那麼這不是「最佳解決方案」。到目前爲止。 – 2014-10-22 10:17:55
該代碼將通過選擇列表中的第二項來阻止第一項被查看。
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int i, int i2, int i3) {
if (i == 0)
absListView.setSelection(1);
}
});
downvote是什麼原因? – Jim 2014-10-24 09:25:22