我使用這段代碼垂直居中選擇的ListView項目;如何在不使用OnItemClickListener的情況下獲取ListView的項目高度?
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
m_listView.smoothScrollToPositionFromTop(position, (m_listView.getHeight() - v.getHeight())/2, 100);
}
這是沒有問題的。問題是我無法居中默認選擇的項目,因爲我既無法獲得ListView高度,也無法獲取項目高度。
我試過了;
- 與
Inflater
(返回0作爲高度)創建視圖 - 運行在默認情況下選中的項目
performClick()
方法(不執行任何操作,拋出也不例外)
所以,我該怎麼辦?
注:物品高度相等。
試試這個:查看的listItem = listAdapter.getView(項目編號,空,ListView控件); listItem.measure(0,0); int list_child_item_height = listItem.getMeasuredHeight()+ listView.getDividerHeight(); – zt9788
'這沒有問題。'那麼問題是什麼? – njzk2
@ zt9788這工作,但如何獲得ListView的高度?我嘗試了'ListView.measure(0,0);'然後'getHeight()',但仍然返回0. –