Android listview onScroll方法中的某些项为空

Android listview onScroll方法中的某些项为空,android,android-listview,Android,Android Listview,我有一个listview,我覆盖了它的onScroll事件,这样我就可以在listview的第一个可见项上获取文本的第一个字符。我的代码如下: @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // } @Override public void onScroll(AbsListView view, int firstVisibleItem, int vis

我有一个listview,我覆盖了它的onScroll事件,这样我就可以在listview的第一个可见项上获取文本的第一个字符。我的代码如下:

@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不是null,我可以得到它的文本。但是当它超过12时,我的v已经为空了。我的项目超过12个,所以它不应该为空

我的代码有问题吗?还是有更好的方法来满足我的需求?
提前谢谢

当列表中的“项目”在屏幕上不可见时,android listview会回收这些项目。因此,任何不可见的内容都将为空


是的。。但是firstVisibleItem应该是可见的,对吗?我从firstVisibleItem获取当前视图。它是适配器中第一个可见的位置。它对应于ListView中索引0的子级。