默认情况下,ListView中适配器为BaseAdapter为例,默认情况下Item点击之后没有任何效果,原因是在点击Item的时候获取的焦点是子控件,为了解决这问题只需要在Item的根布局写上 android:descendantFocusability=""
beforeDescendants:ViewGroup会优先与子控件获取焦点
afterDescendants:VIewGroup会在子控件不需要获取的焦点的时候获取焦点
blocksDescendants:ViewGroup会覆盖子控件而获取焦点
经过测试,当不设置或者设置为beforeDescendants或afterDescendants的时候,只需要将子控件的android:focusable="false"设置为false即可实现,更简便的方法就是设置blocksDescendants即可。
注: lv.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { } } @Override public void onNothingSelected(AdapterView<?> parent) { // TODO Auto-generated method stub } });
此事件在触屏手机上不适用,只有在硬键盘的模拟器上才能触发。(模拟器打开硬键盘的方法在.android/avd/iPhone.avd/config.ini配置文件将hw.dPad置为yes即可)
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦