私は、チェックボックスと2つのtextViewでListViewを持ち、従業員の名前と従業員のID番号を表示します。問題は、smsMobilenumberを持つ位置だけをチェックしたいのです。mobilenumberがその位置に存在していないかどうかを調べるべきではありません。私を助けてください。ここでlistViewから特定のポジションを選択
public SmsEmployeeNameListAdapter(Context context, BaseActivity activity, ArrayList<CheckModelClass> employeeName, ArrayList<CheckModelClass> employeeNumber,
ArrayList<CheckModelClass> smsMobileNum, ArrayList<CheckModelClass> employeeId, ArrayList<String> updatedSmsNumber, ArrayList<String> updatedUserId) {
super(context, R.layout.sms_employeelist,employeeName);
this.context = context;
this.activity = activity;
this.employeeName = employeeName;
this.employeeNumber = employeeNumber;
this.smsMobileNum = smsMobileNum;
this.employeeId = employeeId;
this.updatedSmsNumber = updatedSmsNumber;
this.updatedUserId = updatedUserId;
}
private static class ViewHolder {
CheckBox checkBox;
TextView EmployeeName, EmployeeNumber;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if(convertView == null){
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.sms_employeelist, parent, false);
viewHolder = new ViewHolder();
viewHolder.EmployeeName = (TextView)convertView.findViewById(R.id.text1);
viewHolder.EmployeeNumber = (TextView)convertView.findViewById(R.id.text2);
viewHolder.checkBox = (CheckBox)convertView.findViewById(R.id.checkbox);
viewHolder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int getPosition = (Integer) buttonView.getTag();
if(!smsMobileNum.get(getPosition).getName().isEmpty()){
employeeName.get(getPosition).setSelected(buttonView.isChecked());
if(isChecked){
updatedSmsNumber.add(smsMobileNum.get(getPosition).getName());
updatedUserId.add(employeeId.get(getPosition).getName());
}else{
updatedSmsNumber.remove(smsMobileNum.get(getPosition).getName());
updatedUserId.remove(employeeId.get(getPosition).getName());
}
}
}
});
convertView.setTag(viewHolder);
convertView.setTag(R.id.text1, viewHolder.EmployeeName);
convertView.setTag(R.id.text2, viewHolder.EmployeeNumber);
convertView.setTag(R.id.checkbox, viewHolder.checkBox);
}else{
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.checkBox.setTag(position);
viewHolder.EmployeeName.setText(employeeName.get(position).getName());
viewHolder.EmployeeNumber.setText(employeeNumber.get(position).getName());
viewHolder.checkBox.setChecked(employeeName.get(position).isSelected());
return convertView;
}
をチェック! – moritzg
私はエラーを取得していません。私はちょうどその携帯番号フィールドがnullではない名前だけをチェックしたいです。 –