2013-05-29 24 views
0

嗨我正在開發小型Android應用程序,我想在特定的位置在我的列表視圖中的孩子。但它給了我空值。我提供給列表視圖的列表和數據是正確的,因爲它的工作正常。但我無法在元素上得到孩子。我以下面的方式做到這一點:Android的列表視圖返回null值getChildAt()

// inside oncreate of listactivity .... 
setListAdapter(new SimpleAdapter(this, getData(path), 
      android.R.layout.simple_list_item_1, new String[] { "title" }, 
      new int[] { android.R.id.text1 })); 
    getListView().setTextFilterEnabled(true); 
    ListView listview = getListView(); 

    listview.setSelection(20); 
    View view = listview.getChildAt(3); 

但它給了我空值。我想我正試圖在顯示之前獲得該值。這個怎麼做?難道我做錯了什麼?需要幫忙。謝謝

+0

因爲它還沒有被創建。你爲什麼需要這個? – njzk2

+0

@ njzk2感謝您的重播。當我在做setSelection()時顯示我的列表時,實際上我想要什麼。所以我想知道實際上發生了多少滾動。所以,但得到這個元素,我可以找到getchildat()。gettop()。這就是爲什麼我想要的。任何解決方案。 – nilkash

+0

[ListView getChildAt可見子項返回null]的可能重複(http://stackoverflow.com/questions/6766625/listview-getchildat-returning-null-for-visible-children) – rds

回答

0

嘗試類似這樣獲得所選的子位置相對於ListView頂部的像素位置: listview.getSelectedView()。getTop() 但是,這不會給你多少滾動發生,只有您從選定項目的頂部到ListView的頂部有多少像素。