- Forum-Beiträge: 86
23.01.2021, 18:41:32 via Website
23.01.2021 18:41:32 via Website
Hallo Leute, ich lasse mir EditText genieren,nur habe ich das problem dass mehrere EditText den gleichen Wert übernehmen.
Wie könnte ich das am besten lösen, so das jeder EditText sein eigenen Wert behält?
//Die Arrays für die EditText-Felder
final EditText[] etBetrag = new EditText[16];
final EditText[] etPreisKg = new EditText[16];
final EditText[] etGewicht = new EditText[16];
for (i = 0; i < NumberOfColumns; i++) {
linearLayout = view.findViewById(R.id.linear);
final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(0, 70, 0, 0);
etBetrag[i] = new EditText(getActivity());
etGewicht[i] = new EditText(getActivity());
etPreisKg[i] = new EditText(getActivity());
spinner[i] = new Spinner(getActivity());
KundenInfobt = new Button(getActivity());
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, Metalle);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner[i].setId((view.getId()+i));
spinner[i].setAdapter(adapter);
linearLayout.addView(spinner[i], layoutParams);
etGewicht[i].setHint(R.string.Preiskg);
etGewicht[i].setId((view.getId()+i));
etGewicht[i].setBackgroundResource(R.drawable.textviewborder);
linearLayout.addView(etGewicht[i], layoutParams);
etPreisKg[i].setBackgroundResource(R.drawable.textviewborder);
etPreisKg[i].setHint(R.string.Gewicht);
etPreisKg[i].setId((view.getId()+i));
linearLayout.addView(etPreisKg[i], layoutParams);
etBetrag[i].setBackgroundResource(R.drawable.textviewborder);
etBetrag[i].setHint(R.string.Betrag);
etBetrag[i].setId((view.getId()+i));
linearLayout.addView(etBetrag[i], layoutParams);
KundenInfobt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Hier wird die Zählervariable ausgegeben,damit mehrere Listener erstellt werden können
for (int h = 0; h < lastValueFromI.size(); h++) {
//Hier werden die ausgewählten Items ausgegeben
for (int k = 0; k < lastValue.size(); k++) {
switch (spinner[lastValueFromI.get(h)].getItemAtPosition(lastValue.get(k)).toString()) {
case "Schrott,Stanzabfälle":
singleTonClass.setSchrottPreisKg(etPreisKg[h].getText().toString());
singleTonClass.setSchrottGewicht(etGewicht[h].getText().toString());
singleTonClass.setSchrottBetrag(etBetrag[h].getText().toString());
break;
case "E-Motore":
singleTonClass.setEMotorPreisKg(etPreisKg[h].getText().toString());
singleTonClass.setEMotorGewicht(etGewicht[h].getText().toString());
singleTonClass.setEMotorBetrag(etBetrag[h].getText().toString());
Wie ich das sehe, liegt der Fehler daran, dass zwei oder mehr EditText-Felder die gleiche id zugewiesen bekommen und somit immer den gleichen Wert haben
Ich hoffe, ihr habt ein Tipp für mich!
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.