Warum wird meine Android-Einheitenrechner-App nicht aktualisiert oder zeigt das konvertierte Ergebnis nicht an, wenn ichAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Warum wird meine Android-Einheitenrechner-App nicht aktualisiert oder zeigt das konvertierte Ergebnis nicht an, wenn ich

Post by Anonymous »

Einheitenrechner
Ich erstelle eine einfache Android-Einheitenrechner-App in Java mit EditText, Spinner, Button und TextView. Die Benutzeroberfläche wird korrekt geladen, aber wenn ich auf die Schaltfläche Konvertieren klicke, passiert nichts – keine Fehler, keine Ausgabe und keine sichtbaren Änderungen im Ergebnisfeld.
Das habe ich bereits überprüft und beobachtet:
Wahrscheinliche Ursachen (häufig):
  • UI-Handler nicht verkabelt – der onClick der Schaltfläche oder findViewById-IDs stimmen möglicherweise nicht mit Layout-IDs überein.
  • Parsing-Problem – leere Eingabe oder Dezimaltrennzeichenproblem, das eine stille NumberFormatException verursacht.
  • Ergebnisansicht im UI-Thread nicht aktualisiert.
  • Konvertierungslogik gibt 0 oder falsche Einheitenschlüssel zurück.
  • Ausnahmen werden abgefangen und ignoriert (kein sichtbares Protokoll).
Kurze Checkliste, die ich ausprobiert habe:

[*]Überprüfte IDs im setContentView-Layout stimmen mit findViewById-Aufrufen überein.
[*]Sichergestellt, dass setOnClickListener tatsächlich für die Schaltfläche festgelegt ist.
Gekürzte und validierte Eingabe vor dem Parsen (

Code: Select all

Double.parseDouble
) />Java-Aktivität:

Code: Select all

package com.example.unitconverter;

import android.os.Bundle;
import android.view.View;
import android.widget.*;
import androidx.appcompat.app.AppCompatActivity;

public class UnitConverterActivity extends AppCompatActivity {
private EditText input;
private Spinner fromUnit, toUnit;
private TextView result;
private Button convertBtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

input = findViewById(R.id.input_value);
fromUnit = findViewById(R.id.spinner_from);
toUnit = findViewById(R.id.spinner_to);
result = findViewById(R.id.text_result);
convertBtn = findViewById(R.id.button_convert);

String[] units = { "meters", "kilometers" };
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, units);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fromUnit.setAdapter(adapter);
toUnit.setAdapter(adapter);

convertBtn.setOnClickListener(v -> {
String raw = input.getText().toString().trim();
if (raw.isEmpty()) {
result.setText("Enter a value");
return;
}
double value;
try {
value = Double.parseDouble(raw);
} catch (NumberFormatException e) {
result.setText("Invalid number");
return;
}
String from = (String) fromUnit.getSelectedItem();
String to = (String) toUnit.getSelectedItem();
double out = convert(value, from, to);
result.setText(String.valueOf(out));
});
}

private double convert(double value, String from, String to) {
if (from.equals(to)) return value;
if (from.equals("meters") && to.equals("kilometers")) return value / 1000.0;
if (from.equals("kilometers") && to.equals("meters")) return value * 1000.0;
return value;
}
}
Layout (

Code: Select all

activity_main.xml
):[/b]

Code: Select all












Frage:
Was könnte dazu führen, dass das Klickereignis der Schaltfläche „Konvertieren“ das Ergebnis in meiner Android-Einheitenumrechner-App nicht aktualisiert, selbst wenn das Layout und die Logik korrekt erscheinen?
Was sind die häufigsten Fehler oder Fehlkonfigurationen, die verhindern, dass setOnClickListener die Benutzeroberfläche auslöst oder aktualisiert?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post