android listView 子控件事件错行处理
2012-11-16 15:34:01 来源:WEB开发网viewHolder.photograph = (MyGridView)convertView.findViewById(R.id.item_patrol_photograph);
viewHolder.spinner.setTag(position);
viewHolder.disposeDescription.setTag(position);
viewHolder.addPicture.setTag(position);
viewHolder.photograph.setTag(position);
viewHolder.spinner.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
// 在TOUCH的UP事件中,要保存当前的行下标,因为弹出软键盘后,整个画面会被重画
// 在getView方法的最后,要根据index和当前的行下标手动为EditText设置焦点
if(event.getAction() == MotionEvent.ACTION_UP) {
index= Integer.parseInt(view.getTag().toString());
//patrolReportBackData = patrolReportBackDatas.get(index);
}
return false;
}
});
viewHolder.disposeDescription.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
// 在TOUCH的UP事件中,要保存当前的行下标,因为弹出软键盘后,整个画面会被重画
// 在getView方法的最后,要根据index和当前的行下标手动为EditText设置焦点
if(event.getAction() == MotionEvent.ACTION_UP) {
index= Integer.parseInt(view.getTag().toString());
//patrolReportBackData = patrolReportBackDatas.get(index);
}
return false;
}
});
viewHolder.addPicture.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
// 在TOUCH的UP事件中,要保存当前的行下标,因为弹出软键盘后,整个画面会被重画
// 在getView方法的最后,要根据index和当前的行下标手动为EditText设置焦点
if(event.getAction() == MotionEvent.ACTION_UP) {
index= Integer.parseInt(view.getTag().toString());
// patrolReportBackData = patrolReportBackDatas.get(index);
// if(patrolReportBackData.getPhotos() != null)
//
bitPhoto = patrolReportBackData.getPhotos();
// else
//
bitPhoto = "";
PatrolReportBackData patrolReportBackData = patrolReportBackDatas.get(index);
if(patrolReportBackData.getPhotos() != null)
bitPhoto = patrolReportBackData.getPhotos();
else
bitPhoto = "";
if(holderDatas.get(index).getImageList() != null)
imageItem = holderDatas.get(index).getImageList();
else
imageItem = new ArrayList<HashMap<String,Object>>();
}
return false;
}
});
viewHolder.photograph.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent event) {
// 在TOUCH的UP事件中,要保存当前的行下标,因为弹出软键盘后,整个画面会被重画
// 在getView方法的最后,要根据index和当前的行下标手动为EditText设置焦点
更多精彩
赞助商链接