看板 AndroidDev 關於我們 聯絡資訊
不知是否能夠利用 ViewGroup.OnHierarchyChangeListener 裡面有 onChildViewAdded(View parent, View child) 在這裡頭對child設height 如果不能 那就在這裡頭計算被add的次數 >=7,判斷為ListView裡頭的view都已經layout,然後再... (是不是7可能要試一下,因為我記得getView跑的次數比child數多) 實際上 我只用過這招幫每個child view加上onTouchListener,沒試過更多了 ※ 引述《LaPass (LaPass)》之銘言: : 打算讓listview在頁面上只出現7行 : 每行佔頁面的1/7 : 請問該怎麼做? : 目前自己試過的方法是這樣.... : 用ListActivity時,會用到BaseAdapter這個東西 : 裡面有個getView是給底層取得view用的 : public View getView(int position, View view, ViewGroup parent) : { : ..... : } : 在裡面有產生view的方法,是這樣 : view=adapterLayoutInflater.inflate(R.layout.calender_week_row, null); : 其中 : LayoutInflater adapterLayoutInflater = LayoutInflater.from(c); : c是這隻程式的activity : 我原本想用這種方式,去修改view的高 : ViewGroup.LayoutParams lp =view.getLayoutParams(); : lp.height = 50; //某個計算出來的值 : view.setLayoutParams(lp); : 用這種方法去改已經生成的view沒問題 : 可是,因為這個listview呼叫getview時 : 還沒被加到頁面上,所以lp會是null : 自己ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams()也不對 : 會出現ClassCastException : 我就投降了..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.167.204