做了ListView,但是只能点击button,无法对ListView进行激活。
ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法
解决办法就是将Button的Focus设置为非默认获取
方法一:将ListView的Item Layout的子控件focusable属性设置为false
方法二:对Item Layout的根控件android:descendantFocusability="blocksDescendant"
方法三:在实现ListView的Adapter的getView方法时,将button.setFocusable(false);
通常默认能获得focus的控件有Button,Checkable继承来的所有控件,这就意味着如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法,然而将ListView的Item Layout的子控件focusable属性设置为false有点繁琐,我们可以通过对Item Layout的根控件设置其android:descendantFocusability="blocksDescendant"即可,这样Item Layout就屏蔽了所有子控件获取Focus的权限,不需要针对Item Layout中的每一个控件重新设置focusable属性了,如此就可以顺利的响应onItemClickListener中的onItemClick()方法了。
苹果 apple 产品 最让人喜欢的就是它的用户体验和设计 ,我从网上看到一篇帖子收集了这些离职和在职的牛逼的苹果设计师们。
在职:
Rich Dellinger:原Palm主设计师,现苹果资深UI设计 http://www.richd.com/
Louie Mantia:原Iconfactory设计师 http://www.mantia.me/
Bob Baxley:Apple Online Store 设计主管 http://www.baxleydesign.com/
Level Studios:苹果的第三方设计公司 level-studios.com/ …
Na’ Wong:来自香港的图形界面设计师 http://www.nadesign.net/
Everaldo Coelho:来自巴西的前YellowIcon创始人 http://www.everaldo.com/
Shin Nishibori:来自日本的工业设计师 http://www.shinproducts.com
Rob Janoff:苹果原始商标设计师,现在似乎到处演讲中 http://www.robjanoff.com/
Sascha Höhne:UI设计师 http://www.rad-e8.com/
离职:
Clement Mok:82 – 88年创业 总监 http://www.clementmok.com/
Mike Matas:现在是Push Pop Press创始人 http://www.mikematas.com/
Wilson Miner:已跳槽到Rdio,曾设计Apple.com,Django框架设计者 http://www.wilsonminer.com/
Robert Andersen:曾设计Me.com http://www.implodr.com/
Clement Mok:已离职 http://www.clementmok.com/
Rich Dellinger:原Palm主设计师 http://www.richd.com/
Mike Matas:已转职摄像师 http://www.mikematas.com/
Louie Mantia:原Iconfactory设计师 http://www.mantia.me/
Wilson Miner:已跳槽到Rdio http://www.wilsonminer.com/
Rob Janoff:苹果原始商标设计师 http://www.robjanoff.com/
Robert Andersen:做过Mobile Me http://www.implodr.com/
Bob Baxley:做过Apple Online Store http://www.baxleydesign.com/
Level Studios:苹果的第三方设计公司 http://www.level-studios.com/
//////////////////////////////////////////////////////////////////////////
shengfenSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
shengfenValue = (String) shengfenSpinner.getItemAtPosition(arg2);
updateSpiner(shengfenValue);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
shengfenSpinner.setSelection(0);
}
});
citySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
cityValue = (String) citySpinner.getItemAtPosition(arg2);
// Log.i("aa",""+cityValue);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
citySpinner.setSelection(0);
}
});
private void updateSpiner(String city)
{
if(city.equalsIgnoreCase("北京"))
{
ArrayAdapter<CharSequence> cityadapter = ArrayAdapter.createFromResource(this, R.array.beijing_city, R.layout.spinner_item);
cityadapter.setDropDownViewResource(R.layout.spinner_down_item);
citySpinner.setAdapter(cityadapter);
}
if(city.equalsIgnoreCase("天津"))
{
ArrayAdapter<CharSequence> cityadapter = ArrayAdapter.createFromResource(this, R.array.tianjin_city, R.layout.spinner_item);
cityadapter.setDropDownViewResource(R.layout.spinner_down_item);
citySpinner.setAdapter(cityadapter);
}
}
<resources> <!-- Used in View/Spinner1.java --> <string-array name="shengfen"> <item>不限</item> <item>北京</item> <item>天津</item> <item>河北</item> <item>山西</item> <item>内蒙古</item> <item>辽宁</item> <item>吉林</item> <item>黑龙江</item> <item>上海</item> <item>江苏</item> <item>浙江</item> <item>安徽</item> <item>福建</item> <item>江西</item> <item>山东</item> <item>河南</item> <item>湖北</item> <item>湖南</item> <item>广东</item> <item>广西</item> <item>海南</item> <item>重庆</item> <item>四川</item> <item>贵州</item> <item>云南</item> <item>西藏</item> <item>陕西</item> <item>甘肃</item> <item>青海</item> <item>宁夏</item> <item>新疆</item> <item>台湾</item> <item>香港</item> <item>澳门</item> </string-array> <string-array name="beijing_city"> <item>不限</item> <item>东城</item> <item>西城</item> <item>朝阳</item> <item>丰台</item> <item>石景山</item> <item>海淀</item> <item>门头沟</item> <item>房山</item> <item>通州</item> </string-array> <string-array name="tianjin_city"> <item>不限</item> <item>和平</item> <item>河东</item> <item>河西</item> <item>南开</item> <item>河北</item> <item>红桥</item> </string-array> </resources>