最近一個需求,那就是在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