A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hdchenyue 中级黑马   /  2014-7-30 16:24  /  1073 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

16、屏幕方向变化时(横屏->竖屏,或反过来),ListView里发生变化的内容丢失,状态回到开始时的样子。
当屏幕方向发生变化时,android会重建整个Activity以便你构造更适合某个方向的UI。为了避免这种情况,在AndroidManifest.xml里的那个Activity声明上增加android:configChanges="orientation" 即可。详见参考链接
17、各手机平台仿真器/模拟器的下载链接
18、AlertDialog#show()方法是不会阻塞当前线程的。
19、让不同Activity之间进行通信,例如一个TabActivity里有多个Activity,它们之间需要传递一些消息。
可使用BroadcastReceiver机制。 参考链接。要注意的是,tab还未启动时是无法接收到消息的,所以要在tabhost所在的activity里也接收消息,当tab启动时传给它。
20、Android SDK里的style和theme文档
见此链接
21、Tab的样式。
Android的tab样式问题比较多,不同版本的样式也不一样。这里有一个自定义样式的参考链接
22、在ListView里使用单选/复选按钮。
问题很多,这个链接看起来解决了问题,但在我的环境里没试验成功。
Update: 以复选按钮为例,本质的问题在于ListView里的复选按钮不知道对应的model是哪个,需要事先用CheckBox#setTag(myModelObject)关联,onclick事件里用getTag()改变其选中状态。建议看这篇文档
23、strings.xml里定义的字符串里增加参数。
在字符串里用“%1$s”、“%2$d”表示参数的序号和类型,然后用String.format()方法赋值。参考这个链接
24、嵌入条码/二维码扫描功能
使用zxing。方法是在手机上先安装BarcodeScanner.apk,然后在程序里调用其提供的Activity,该Activity会返回扫描结果。 参考链接
25、改变ListView里每个Row的背景颜色
直接在getView()里写view.setBackgroundColor()是不行的。正确的方法是先在drawable目录里建一个xml文件,自己起名如my_row.xml,内容如下(关键是第一个和第四个<item>):
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_window_focused="false" android:state_selected="true"        android:drawable="@android:color/transparent" />    <item android:state_selected="true" android:drawable="@android:color/transparent" />    <item android:state_pressed="true" android:state_selected="false"        android:drawable="@android:color/transparent" />    <item android:state_selected="false" android:drawable="@color/solid_red" /></selector>
然后在getView()里这样写就可以了:
if (item.getStopId().equals(User.stopId)) {    view.setBackgroundResource(R.drawable.my_row);} else {    view.setBackgroundResource(android.R.drawable.list_selector_background);}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马