我有一個LinearLayout
,其中包含一些其他意見和其中一個ListView
。 此視圖是通過單擊按鈕從另一個視圖加載的。Android ListView scrollTo
此按鈕以某種方式指定ListView中的哪些元素需要是列表中的第一個可見元素。填充列表的元素是通過來自外部服務器的HTTP檢索的。
問題是我可以得到第N個元素成爲列表中的第一個元素。 請注意,我不想將它從當前位置移動到新位置,我希望列表滾動。
我試過setSelected()
和scrollTo(x,y)
和scrollBy(x,y)
但沒有運氣。
我也做了嘗試這個PICE的代碼,醜陋的,因爲它是,但我只是想嘗試f是工作:
ListView categoryList = (ListView)findViewById(R.id.category_list);
categoryList.post(new Runnable() {
@Override
public void run() {
Log.d(this.getClass().getName(), "CategoryActivity.scrollToIndex: " + CategoryActivity.scrollToIndex);
if(CategoryActivity.scrollToIndex>0){
ListView categoryList = (ListView)findViewById(R.id.category_list);
categoryList.setScrollContainer(true);
categoryList.scrollTo(4, CategoryActivity.scrollToIndex * 50);
categoryList.requestLayout();
}
}
});
這給了我一些成功,但ListView控件然後以一種我甚至無法形容的方式表現瘋狂 ....
任何想法?
這個工作,非常感謝! – 0m4r 2010-11-28 16:27:36