На самом деле, у меня есть 2 просмотра, т.е.EditText
и Spinner
оба являются представлениями как динамическими, что означает, что они могут появляться случайным образом в любое время, как с вращением, так и с редактированием текста.После этого я отправил данные редактируемого текста и счетчика на сервер в качестве запроса.Я использую библиотеку retrofit
.
Мой пример кода: -
if (followUpDataResponseList.get(fieldSize).getFieldType().equalsIgnoreCase("Textbox")) {
View view = getLayoutInflater().inflate(R.layout.my_edittext, null);
editCustom = view.findViewById(R.id.editCustom);
editCustom.setHint(followUpDataResponseList.get(fieldSize).getValue());
//Set Tag for EditText
editCustom.setTag(fieldSize);
textViewArrayList.add(editCustom);
linearInterestData.addView(view);
} else if (followUpDataResponseList.get(fieldSize).getFieldType().equalsIgnoreCase("Dropdown")) {
View view = getLayoutInflater().inflate(R.layout.my_spinner, null);
spinner = view.findViewById(R.id.spinCustom);
View spinnerView = view.findViewById(R.id.spinnerView);
List < String > spinnerList = new ArrayList < > ();
}
String[] strArray = followUpDataResponseList.get(fieldSize).getPossibleValues().split(",");
List < String > list = Arrays.asList(strArray);
spinnerList.addAll(list);
ArrayAdapter < String > adapterSpinner = new ArrayAdapter < String > (mActivity, R.layout.spinner_text, spinnerList) {
@Override
public boolean isEnabled(int position) {
return position != 0;
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View mView = super.getDropDownView(position, convertView, parent);
TextView textView = (TextView) mView;
if (position != 0) {
textView.setTextColor(Color.BLACK);
} else {
textView.setTextColor(ContextCompat.getColor(getContext(), R.color.greyTextColor));
}
return mView;
}
};
adapterSpinner.setDropDownViewResource(R.layout.simple_spinner_dropdown);
spinner.setAdapter(adapterSpinner);
//Set Tag for Spinner
spinner.setTag(fieldSize);
linearInterestData.addView(view);