天天看點

PopWindow中添加listview,item點選事件解決

最近一個需求,那就是在popwindow(後面簡稱pw)中添加listview做顯示,但是listview中的item卻無法點選。為了達到動态顯示内容,那麼隻有想辦法解決這個問題了。
   在網上查閱了很多方式,有的是給pw添加焦點擷取,         
   `pw.setFocusable(true);`
   但是這樣并沒有效果,不知道那些有效果的是不是真的,單純因為我是4.4就無法用了。還有說讓listview重新繼承的,我也認為不可取。
   我這裡說的解決辦法有兩個:
   1.這我的解決方式,我采用的接口的方式,先寫個接口用于做出響應
           
public interface PopItemClickListener{
            void listener(int position);
         }
           
然後在listview裡的adapter裡的getView中
           
viewHolder.bt.setText(list.get(position));
        viewHolder.bt.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                listener.listener(position);
            }
        });
           

,采用這種回調的方式,可取。

其實這種方式有點類似與listview裡裝checkbox的解決問題,checkbox焦點取消掉了,讓item能點選,但是又想點選checkbox,那就可以在adapter裡做checkbox的點選監聽事件做回調,希望能幫助到大家。

2.第二種方式,可以以繼承popwindow的自定義來裝listview

這種方式也能擷取到焦點,可以參考這個部落格,簡單即詳細

http://blog.csdn.net/xiaanming/article/details/9121383

繼續閱讀