Я создаю приложение, в котором у меня есть центральный ресайклер-просмотр, в котором перечислены элементы, которые пользователь будет вводить, под двумя кнопками, одна для добавления элементов, а другая для завершения. Проблема, с которой я сталкиваюсь, заключается в том, что, когда пользователь завершает задачу и нажимает кнопку fini sh, я хочу получить все данные, которые были перечислены на его экране, который находится внутри списка, и сохранить их в firebase, но я не могу получить эти данные в массиве форм, он всегда возвращает ссылку на объект.
Поиск целого rnet Я нашел, как использовать .toString в массиве, но он возвращает мне то же самое. Вот пример возврата, который я получаю.
return
код моего объекта
public class ListItem {
private float measure;
public ListItem(float measure) {
this.measure = measure;
}
public float getMeasure() {
return measure;
}
public void setMeasure(float measure) {
this.measure = measure;
}
}
код моей кнопки добавить
private View.OnClickListener addItem = new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogForm();
mAdapter.notifyItemInserted(listItems.size());
}
};
void DialogForm() {
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
final View customLayout = getLayoutInflater().inflate(R.layout.layout_dialog, null);
alert.setView(customLayout);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
EditText measure = customLayout.findViewById(R.id.edit_measure);
String response = measure.getText().toString();
if (response.isEmpty() || response.equals("0")) {
Toast.makeText(MainActivity.this, "A medida não pode ser vazia",
Toast.LENGTH_SHORT).show();
} else {
listItems.add(new ListItem(Float.parseFloat(response)));
btnFinish.setEnabled(true);
btnFinish.setBackgroundResource(R.drawable.bg_button_enabled);
}
}
});
AlertDialog dialog = alert.create();
dialog.show();
}
код моей кнопки fini sh, когда я перечисляю
private View.OnClickListener finishListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i=0; i<listItems.size(); i++){
Log.d("teste", listItems.get(i).toString());
}
}
};