解决方案 »
- 为什么在智联上投的简历都没有人看一眼啊????
- 利用android的socket连接一个带有固定IP的wifi模块
- android 不能从后置摄像头切回前置
- Android系统能在任何嵌入式移动设备中运行吗?
- 关于安卓的视图问题
- 只录像不录音,如何实现,求助。
- android绘图,怎么实现画布拖动功能,就像地图一样
- 求从图片上识别出文字的源码
- 新手请教UI设计、切图等实现
- Andriod Atom x86模拟器启动报错。网上的教程都旧了。跟新版完全不一样啊。怎么处理?
- TabActiviy中子Activity跳转到其他Activity后仍显示TAB
- WAITING FOR THE DEBUGGER问题
key可以设置为每个ITEM的ID号,这样就不会乱了。
HashMap<Integer,CheckBox> mapBtn = new HashMap<Integer,CheckBox>();
int indexId = 1;
getView() { View rootView =
if(!mapBtn .contanKey(indexId)){
CheckBox checkBox = rootView.findViewById(R.id.checkbtn);
checkBox.setId(indexId++);
checkBox.setOnClickListener(myclickListener);
mapBtn.put(indexId,checkbox);
}}
public class CarControlAdapter extends BaseAdapter { private ArrayList<PartsList> partsList;
private Context context;
private int newpartType;
private PartsHolder viewHolder;
private LayoutInflater inflater;
private HashMap<Integer, CheckBox> mapBtn = new HashMap<Integer, CheckBox>();
private int indexId = 1;
public CarControlAdapter(ArrayList<PartsList> partsList, Context context,
int newpartType) {
super();
this.partsList = partsList;
this.context = context;
this.inflater = (LayoutInflater.from(context));
this.newpartType = newpartType;
}
@Override
public int getCount() {
if (partsList != null) {
return partsList.size();
} else {
return 0;
}
} @Override
public Object getItem(int position) { return partsList.get(position);
} @Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
viewHolder = new PartsHolder();
convertView = inflater.inflate(
R.layout.adaptor_startcarcontrol_edit, null);
if (!mapBtn.containsKey(indexId)) {
viewHolder.check_engine = (CheckBox) convertView
.findViewById(R.id.check_engine);
viewHolder.check_engine.setId(indexId++);
mapBtn.put(indexId,viewHolder.check_engine);
} viewHolder.text_partsname = (TextView) convertView
.findViewById(R.id.text_partsname);
viewHolder.btn_yes_no = (ToggleButton) convertView
.findViewById(R.id.btn_yes_no);
viewHolder.img_engine_editphoto1 = (ImageView) convertView
.findViewById(R.id.img_engine_editphoto1);
viewHolder.img_engine_editphoto2 = (ImageView) convertView
.findViewById(R.id.img_engine_editphoto2);
viewHolder.img_engine_editphoto3 = (ImageView) convertView
.findViewById(R.id.img_engine_editphoto3);
viewHolder.img_engine_editphoto4 = (ImageView) convertView
.findViewById(R.id.img_engine_editphoto4);
viewHolder.btn_engine_takephoto = (ImageView) convertView
.findViewById(R.id.btn_engine_takephoto);
viewHolder.edit_engine_err = (EditText) convertView
.findViewById(R.id.edit_engine_err);
viewHolder.img_play_sound = (ImageView) convertView
.findViewById(R.id.img_play_sound);
viewHolder.text_sound_btn = (TextView) convertView
.findViewById(R.id.text_sound_btn);
viewHolder.lay_edit = (RelativeLayout) convertView
.findViewById(R.id.lay_edit);
convertView.setTag(viewHolder);
} else {
viewHolder = (PartsHolder) convertView.getTag();
} int partId = partsList.get(position).getPartsId();
String partName = partsList.get(position).getPartsName();
int partType = partsList.get(position).getPartsType();// 1行车控制
// 2车辆内饰3随车工具
String sendDescription = partsList.get(position).getSendDescription();// 部件文字描述
int sendCondition = partsList.get(position).getSendCondition();// 0无 1完好
// 2损坏
String sendImgFile = partsList.get(position).getSendImgFile();// 图片地址
String sendPhoneticFile = partsList.get(position).getSendPhoneticFile();// 语音地址 viewHolder.text_partsname.setText(partName);
viewHolder.edit_engine_err.setText("411111");
switch (sendCondition) {
case 0:
viewHolder.check_engine.setChecked(false);
viewHolder.lay_edit.setVisibility(View.GONE);
viewHolder.btn_yes_no.setVisibility(View.GONE);
break;
case 1:
viewHolder.check_engine.setChecked(true);
viewHolder.lay_edit.setVisibility(View.GONE);
viewHolder.btn_yes_no.setVisibility(View.VISIBLE);
viewHolder.btn_yes_no.setChecked(true);
break;
case 2:
viewHolder.check_engine.setChecked(true);
viewHolder.lay_edit.setVisibility(View.VISIBLE);
viewHolder.btn_yes_no.setVisibility(View.VISIBLE);
viewHolder.btn_yes_no.setChecked(false);
break; default:
break;
} viewHolder.btn_yes_no
.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) { if (isChecked) {
viewHolder.lay_edit.setVisibility(View.GONE);
} else {
viewHolder.lay_edit.setVisibility(View.VISIBLE);
}
}
});
viewHolder.check_engine
.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) { if (isChecked) {
viewHolder.btn_yes_no.setVisibility(View.VISIBLE);
} else {
viewHolder.btn_yes_no.setVisibility(View.GONE);
viewHolder.lay_edit.setVisibility(View.GONE);
} }
});
return convertView; } public void removeAll() {
partsList.clear();
} public void addItem(PartsList partsList1) {
if (partsList1 != null) {
partsList.add(partsList1); } } class PartsHolder {
private CheckBox check_engine;// 有无
private TextView text_partsname;// 工具名称
private RelativeLayout lay_edit;// 编辑
private ToggleButton btn_yes_no;// 有无损坏
private ImageView img_engine_editphoto1;
private ImageView img_engine_editphoto2;
private ImageView img_engine_editphoto3;
private ImageView img_engine_editphoto4;
private ImageView btn_engine_takephoto;// 点击拍照
private EditText edit_engine_err;// 输入
private ImageView img_play_sound;// 点击播放声音
private TextView text_sound_btn;// 按住录音
} @Override
public boolean isEnabled(int position) {
// TODO Auto-generated method stub
return false;
}
}
checkbox,findviewbyId二次加载的时候直接每调用,你看看我这里哪里需要修改下