Beiträge von UweApps

    Ein TableLayout ist auch nur ein spezielles LinearLayout - das solltest du in einen ScrollView verpacken.


    Und wenn du genug Daten hast, dann wirst du auf dem Tablet auch mal scrollen können.


    Anderer Ansatz wäre ein ListView statt des TableLayout - der scrollt selber und als Listeneintrag kannst du die Daten-Zeilen umbauen.


    Wenn du dir Gedanken über kleine Bildschirme machst, dann solltest du auch an die Breite der Tabellen-Zeilen denken. Danke. ;)

    Ist zwar schon eine ältere Frage, aber für Neulinge bestimmt öfters ein Problem.


    Der einfachste Ansatz ist, in der anderen Datenbank (wie das bei Access geht weiß ich nicht, muss aber in der Doku stehen) die Inhalte als SQL-Befehle exportieren und diese in die Datenbank im Android einpflegen. Also die SQL-Datei nach INSERT-Statements durchsuchen und diese dann mit execSQL abschicken.


    Eigentlich sollte die SQL-Syntax der unterschiedlichen Datenbanken einigermaßen kompatibel sein - bei INSERT fast immer, bei CREATE gibt's Unterschiede.


    Und wenn man die Datenbank mit eigenen Daten füttern will, kann man die INSERT-Statements auch mal im Code unterbringen. Besonders am Anfang eines Projektes kann das sinnvoll sein. Besser ist es natürlich, die Daten in XML zu verpacken und sich mit SAX oder DOM auseinander zu setzen. ;)

    Damit hab ich auch noch keine Erfahrung - die erste Idee war, dass du vielleicht noch ein paar LinearLayouts um einzelne Abschnitte machst, aber die sehen alle gut aus.


    Workaround: mit findViewById die überflüssigen Listen suchen und mit setVisibility(View.GONE) verschwinden lassen.
    Zumindest solltest du dann weiterkommen bis jemand anderes 'nen bessern Vorschlag hat. ;)


    Und wenn man an den @+id/... rumbastelt, zwischendurch die Maninfest-Datei nochmal speichern, damit die IDs neu durchgerechnet werden.

    parseInt sorgt für Abstürze, wenn der String Zeichen enthält, die nicht zu int passen - z.B. schon ein Punkt.


    Darum besser mit matches() absichern:


    Java
    int intZahl;
    if (Zahlineinemstring.matches("[+-]?[0-9]+")){
    	intZahl = Integer.parseInt(Zahlineinemstring);
    } else {
    	// Fehlermeldung ausgeben
    }