android的listView有滚动条时(即实际Item数比显示出来的Item数多),其点击item变色代码入下:
for(int i=0;i<parent.getCount();i++){
View v=parent.getChildAt(i);
if (position == i) {
v.setBackgroundColor(0xFFB679D4);
} else {
v.setBackgroundColor(Color.TRANSPARENT);//此行空指针错
}
}
点击时v.setBackgroundColor(Color.TRANSPARENT);报空指针错。
错误分析:因为实际Item数比显示出来的Item数多,即parent.getCount()>parent.getChildCount(),所以View v=parent.getChildAt(i);当v不在显示的view内时,得到的v为null。所以报错
尝试方法1:parent.getCount()改成parent.getChildCount(),此时出现的新问题是往下滑动时,没有点击的Item也会变色。
尝试方法2:parent.getCount()改成一个整数,该整数=parent.getChildCount(),此时没有往下滑动时正常,但是往下滑动时并不能点击变色。
尝试方法3:做分页,代价太大。所以放弃
麻烦各位给出解决方案~~困扰很久了~
for(int i=0;i<parent.getCount();i++){
View v=parent.getChildAt(i);
if (position == i) {
v.setBackgroundColor(0xFFB679D4);
} else {
v.setBackgroundColor(Color.TRANSPARENT);//此行空指针错
}
}
点击时v.setBackgroundColor(Color.TRANSPARENT);报空指针错。
错误分析:因为实际Item数比显示出来的Item数多,即parent.getCount()>parent.getChildCount(),所以View v=parent.getChildAt(i);当v不在显示的view内时,得到的v为null。所以报错
尝试方法1:parent.getCount()改成parent.getChildCount(),此时出现的新问题是往下滑动时,没有点击的Item也会变色。
尝试方法2:parent.getCount()改成一个整数,该整数=parent.getChildCount(),此时没有往下滑动时正常,但是往下滑动时并不能点击变色。
尝试方法3:做分页,代价太大。所以放弃
麻烦各位给出解决方案~~困扰很久了~
解决方案 »
- 自定义一个控件,真机运行没错,模拟器报错,何解?
- ImageView用getDrawable()得到的Drawable的问题
- TabHost 如何更换界面 请指点啊
- 还是关于蓝牙发送和接受数据的问题
- android fopen 打开dev/bloak/platform/usb20..../sda
- android2.3 有关状态栏崩溃问题!!!
- text大小和text size的关系
- 关于安卓
- android新手,请教一个xml解析的问题
- 想让recyclerview读取数据库里的图片,请问有什么思路?
- 音乐播放器,艺术家和专辑排序错乱(中文歌曲),没按照中文拼音首字母顺序
- tabhost让选中项的文字的颜色变成白,如何实现呀,
public View getView(int position, View convertView, ViewGroup parent) {
convertView = null; convertView = super.getView(position, convertView, parent);
//点击变色
convertView.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
//怎么写?
}
});
//改变item的高度
ViewGroup.LayoutParams params=convertView.getLayoutParams();
params.height=50;
convertView.setLayoutParams(params); return convertView;
}
请问事件怎么写?