- //在afterTextChanged中,调用setText()方法会循环递归触发监听器,必须合理退出递归,不然会产生异常
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
for (int i = 0, j = s.length(); i < j; i++) {
char letter = s.charAt(i);
if (letter >= 'A' && letter <= 'Z') {
et_scene.setText(s.toString().toLowerCase(Locale.getDefault()));
// 光标移至原来的位置
et_scene.setSelection(i+1);
}
}
}
2.在adapter里为EditText增加监听事件,然后在activity里死活得不到正确的、item对应的数值,解决方法如下:
Android中的Adapter内,有getView方法. 假设你自己定义的某个ListView 或者GridView,有可能在程序运行中修改它们的Item的高度,那么此时getView将被回调.于是就出现position=0的情况. 因为出现这种情况,并且此时item内的对象的引用与正确的position=0是不一样的,它不过一个临时的对象而已. 所以,要加个条件来判断此时是否不是临时的position=0. if (parent.getChildCount() == position) { //里面就是正常的position } else { //临时的position=0 }
3.ListView里的EditText光标不显示:
在xml加上
android:textCursorDrawable="@null"
“@null”作用是让光标颜色和text color一样
另附上自定义光标颜色和宽度的shape
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<size android:width="1dp" />
<solid android:color="#008000" />
</shape>
422



被折叠的 条评论
为什么被折叠?



