3
我有一個列表視圖,我重寫了onScroll事件,以便我可以在列表視圖的第一個可見項上獲取文本的第一個字符。我的代碼如下:有些項目在listview onScroll方法中爲null
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
//
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
ListView caller = (ListView) view;
View v = caller.getChildAt(firstVisibleItem);
if(v instanceof TextView){
TextView tv = (TextView) v;
if(tv != null){
String sInitial = tv.getText().toString();
sInitial = Character.toString(sInitial.charAt(0));
TextView tvPager = (TextView) findViewById(R.id.tvPager);
tvPager.setText(sInitial);
}
}
}
當FirstVisibleItem變量是從0到12(精確),我的視圖V不爲空,我可以得到它的文本。但是當它超過12時,我的v已經是空的。我的項目超過12個,所以它不應該爲空。
我的代碼有問題嗎?還是有更好的方式做我想要的? 在此先感謝!
是啊..但firstVisibleItem應該是可見的吧?我從firstVisibleItem獲取當前視圖。 – junmats 2010-11-11 16:03:24
這是您的適配器中第一個可見的位置。它對應於ListView中索引0的子項。 – 2010-11-11 17:32:22
你對如何完成我所需要的東西有一些想法嗎?謝謝.. – junmats 2010-11-15 05:18:28