private View initField(Entry<String, YParam> entry, LayoutInflater inflater) { ParamField v = null; String name = entry.getKey(); YParam value = entry.getValue(); TextView nameTextView; switch (value.getType()) { case Integer: v = (ParamField) inflater.inflate(R.layout.field_integer, null); EditText integerET = (EditText) v.findViewById(R.id.field_integer); if (value.getValue() != null) { integerET.setText(value.getValue() + ""); } break; case Group: case String: v = (ParamField) inflater.inflate(R.layout.field_string, null); EditText stringET = (EditText) v.findViewById(R.id.field_string); if (value.getValue() != null) { stringET.setText(value.getValue() + ""); } break; case Position: v = (ParamField) inflater.inflate(R.layout.field_position, null); v.findViewById(R.id.field_button_showmap) .setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { FragmentTransaction ft = getFragmentManager().beginTransaction(); PositionMapDialog d = new PositionMapDialog(); ft.add(d, "MAP"); ft.commit(); ((PositionParamField) v.getParent()).setPositionMapDialog(d); } }); break; case Boolean: v = (ParamField) inflater.inflate(R.layout.field_boolean, null); RadioButton trueButton = (RadioButton) v.findViewById(R.id.field_boolean_yes); RadioButton falseButton = (RadioButton) v.findViewById(R.id.field_boolean_no); boolean defaultBool = (Boolean) value.getValue(); if (defaultBool) { trueButton.setChecked(true); falseButton.setChecked(false); } else { falseButton.setChecked(true); trueButton.setChecked(false); } break; case Number: v = (ParamField) inflater.inflate(R.layout.field_number, null); EditText numberET = (EditText) v.findViewById(R.id.field_number); if (value.getValue() != null) { numberET.setText(value.getValue() + ""); } v.findViewById(R.id.field_pick_number) .setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { FragmentTransaction ft = getFragmentManager().beginTransaction(); NumberDialogFragment d = new NumberDialogFragment(); ft.add(d, "NUMBER_PICKER"); ft.commit(); ((NumberParamField) v.getParent()).setNumberPickerFragment(d); } }); break; default: break; } nameTextView = (TextView) v.findViewById(R.id.field_name); nameTextView.setText(name); v.setYParam(value); v.setName(name); return v; }