1. 怎麼解決android listview 單個item的左右滑動和整個listview上下滑動的沖突問題
你是listView把滑動事件截取了,然後item就不能響應滑動了嗎?這樣可以重寫listView,重寫onInterceptTouchEvent()
2. Android ListView 折疊要怎麼弄
個人思路:
Listview 設置適配器的時候,多加2個參數,1、折疊數據(你這里用string[]就好)2、是否折疊
在getview裡面判斷折疊數據大小,
如果有數據,顯示右邊的圖標按鈕;
如果有數據並且不折疊,將string[]內的數據添加到list中;
給圖標加一個監聽,第二次點擊則將是否折疊取反操作,如果折疊狀態為true,需要刪除list中剛剛添加的string[]數據再刷新
3. Android中使用listview出現數據紊亂
ListView的Item child view個數是最多能顯示的item數+2。
也就是說,假設你當前看到ListView的item數最多是9, 那這個ListView其實最多隻有11個child view, 但ListView可能有幾十幾百個Item, 怎麼辦呢?
當你向下滑動的時候, 把第12個item滑出來的時候,事實上第1,2個item已經完全看不到了,所以第12個Item是重用第1個Item的view, 第13個item是重用的第2個Item的view,也就是ListAdapter.getView()中作為參數傳入的convertView。
這樣明白了吧, 針對第1個Item view,如果你給裡面的控制項設置了一些屬性,那麼當你滑動listview的時候,第12個item上也會是一樣的item view。
So, 兩種辦法:
1) 在ListAdapter.getView()這個方法中, 每次都是重新創建一個view return。
2)在ListAdapter.getView()這個方法中,還是會重用convertView,但是每次都要重新去初始化convertView的屬性。
4. Android listview滑動事件和上拉載入下拉刷新沖突
這個支持上拉載入下拉刷新的ListView,你是在android的ListView基礎上修改的?(通過onScrollListener)還是用的第三方開源庫?(PullTorRefresh之類)
輪播圖片又用的是什麼?ViewPager嗎?
沒有代碼參考,我也只能籠統的猜下
如果你用的是某些別人寫的,繼承自ListView的類,那l可能是這個類本身的上拉載入下拉刷新,就是利用內部創建onScrollListener實例,然後通過setScrollListener的方式設置給自己來實現的,所以你設置新的onScrollListener可能替換掉了原來默認的監聽器
另外也可能是手勢的事件沖突。而一般手勢事件沖突,有可能是由於手勢事件,在到達規定的View之前,就被被上層View「消耗」(攔截並處理)了。這種情況你可以寫個類繼承你現在ListView,重寫dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent方法,裡面直接調用父類的同名方法,但在之前輸出個Log,跟蹤下手勢事件去向
(參考android手勢事件處理機制,不清楚的話,可以看下網上針對dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent這三塊的詳細講解)