解决方案 »
- xml里面product的值在哪里设置的?
- 求助 android GSP 经纬度获取为0
- 手机短信广播接收不到
- WebView中加载的页面里TextBox(类型为Password)内容看不到,求高手指点。
- android系统中 布局跳转中的疑惑
- 求教:在layout中添加菜单怎么加不进去啊。
- 【求助】安卓GridView动态添加IamgeView组件,如何给Imageview动态添加文字?
- fragment如何加载网络数据并直接显示,不是listfragment
- android如何放慢和加快一段音频文件
- Eclipse中Android开发,代码未报错,但是用虚拟机或者手机都是“很抱歉,***已停止运行”
- 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二次加载的时候直接每调用,你看看我这里哪里需要修改下