Beiträge von schymura

    Hallo James 007,

    Zitat

    Hat der Display eine Canvas und wie spreche ich sie an?

    also ich nutze in einer App zum Beispiel Canvas.

    Code
    mBitmap = Bitmap.createBitmap(getWidth(),getHeight(),Bitmap.Config.RGB_565);
    			 bitmapCanvas=new Canvas();
    			 bitmapCanvas.setBitmap(mBitmap);
    			 bitmapCanvas.drawColor(hintergrundfarbe);
    			 isInitialized=true;


    Oder habe ich dich falsch verstanden?
    Schöne Grüße, schymura ^^

    Hallo,
    nachdem ich so vor mich hin gepusselt habe läuft meine App, an der ich lernen wollte auch schon ganz gut.
    Ich habe im Moment nur noch ein Problem:
    Es gelingt mir nicht bei einer Activity, die nicht auf einer Layout XML basiert, sondern wo erst alle Objekte im Activitycode zur Laufzeit erzeugt werden einen GestureOverlayView so einzubauen, dass es funktioniert
    In den anderen Activitys funktioniert dieser Code:


    Nur, weil ich kein View aus einer Layout xml erstellen kann stehe ich auf dem Schlauch.
    Kann mir jemand aus meiner Denkblockade helfen?
    Blockierte und wartende Grüße,
    schymura :S

    Hallo,
    es scheint so zu sein, dass in der PreferenceActivity das englisch/amerikanische Datumsformat fest "verdrahtet" ist. Es scheint nirgends im Netz auch nur annäherungsweise eine Lösung zu geben, wie man PreferenceActivity dazu überreden kann auch den Punkt (.) bei den Zeichen im Datenformat anzuzeigen.
    Ansonsten ist die class PreferenceActivity schon ganz gut zu gebrauchen. Wenn ich nur wüsste, wie man es hinbekommt, dass immer sofort die Eingabetastatur in den Sonderzeichen/Zahlenmodus schaltet beim Öffnen.
    Wartenden , freundliche Grüße,denn vielleicht hat ja noch jemand von Euch einen Anregung,
    schymura ^^

    Hallo, schon wieder ich...
    Komischerweise zeigt ein von EditTextPreference abgeleitetes Objekt im Programmcode erzeugtes Objekt. wenn es mit

    Code
    editTextgeburts.getEditText().setInputType(InputType.TYPE_CLASS_DATETIME)


    auf das Datumsformat gesetzt wird beim Öffnen immer nur die Zeichen für das englische Format an (:/) und kein ".", wie es ja sonst angeboten wird.
    1: Wie kann ich diesem Objekt das vom Code aus beibringen, das es doch bitte die eingestellten Formate nutzen soll, wie es das doch auch tut, wenn man die Definition des EditTextPreference in einer xml Datei über android:inputType="date" macht.
    2: Wie kann kann man (ich) in einer

    Code
    onPreferenceChange(Preference preference, Object newValue)


    Methode ein aufgefüllten Datumsstring (vorher etwa 1.1.1 , aufgefüllt 01.01.2001) in die übergebene preference hinein zwängen. setText() gibt es dort nicht.
    Fragende Grüße, schymura :S

    Hallo killphil75,
    danke für die Antwort und vor allem für den Link!
    Nachdem ich dann (fast) alle Möglichkeiten durchprobiert habe, die dort genannt wurden um setDependency() zum Laufen zu bekommen habe ich es nun geschafft!
    Hier die richtige Lösung:
    1: Gleich nach der Erzeugung des PreferenceScreen muss setPreferenceScreen() aufgerufen werden.

    Code
    private PreferenceScreen createPreferenceHierarchy() {
       		PreferenceScreen roots = getPreferenceManager().createPreferenceScreen(this);	
        	setPreferenceScreen(roots);


    Dann kann man im weiteren dann setDependency() entsprechend aufrufen, aber immer erst NACH dem Einfügen mit addPreference()

    Code
    CheckBoxPreference bei_progstartCheckBoxPref = new CheckBoxPreference(this);
        	bei_progstartCheckBoxPref.setTitle(R.string.einstellungen_beiprogstart);
        	bei_progstartCheckBoxPref.setKey("toggel_bei_prog_start");   
        	bei_prog_startPrefCat.addPreference(bei_progstartCheckBoxPref);
        	EditTextPreference editTextname = new EditTextPreference(this);
        	editTextname.setDialogTitle(R.string.einstellungen_beiprogstart_nametitel);
        	editTextname.setKey("edittext_name");
        	editTextname.setTitle(R.string.einstellungen_beiprogstart_name);
        	bei_prog_startPrefCat.addPreference(editTextname); 
        	editTextname.setDependency(bei_progstartCheckBoxPref.getKey());


    Und das GANZ wichtige ist, wie in der letzten Quelltextzeile zu sehen, dass man nicht die Zeichenfolge nutzt, die man bei setKey() als String eingeben muss, sondern dass man die .getKey() des entsprechenden Objekts aufruft.
    Nur so gibt es keinen Absturz.
    Fröhliche, dankbare Grüße, schymura. ^^

    Hallo killphil75,
    danke für die schnelle Antwort.
    Auf Grund deiner Aussage habe ich nun also die Reihenfolge im Programmcode umgestellt.


    Das Ergebnis ist identisch zu dem ersten Versuch:

    Code
    01-03 21:24:53.239: E/AndroidRuntime(4578): Caused by: java.lang.IllegalStateException: Dependency "bei_prog_start_toggle" not found for preference "edittext_name" (title: "Name"


    Da scheine ich wohl mal wieder etwas falsch verstanden zu haben.....
    Schöne Grüße, schymura ?(

    Hallo,
    da bin ich schon wieder mit einer Frage:
    Wie und womit ist das unterschiedliche Verhalten einer PreferenceActivity zu erklären, in Abhängigkeit davon, ob die einzelnen Objekte in der PreferenceActivity direkt im Programmcode gesetzt werden, oder ab sie in einer xml-Datei definiert werden.


    Beispiel: eine Checkbox ist in der einstellungs.xml so definiert:
    Und so funktioniert es auch, das Editobjekt wird immer dann auch deaktiviert, wenn in der Checkbox kein Häkchen ist.

    Code
    <CheckBoxPreference
                	android:key="bei_prog_start_toggle"
                	android:title="@string/einstellungen_beiprogstart" />   
        		<EditTextPreference
               		android:key="edittext_name"
               		android:dependency="bei_prog_start_toggle" 
                	android:title="@string/einstellungen_beiprogstart_name"
                	android:dialogTitle="@string/einstellungen_beiprogstart_nametitel" />


    Wenn ich jedoch das entsprechende im Programmcode selbst setze,

    Code
    CheckBoxPreference bei_progstartCheckBoxPref = new CheckBoxPreference(this);
        	bei_progstartCheckBoxPref.setTitle(R.string.einstellungen_beiprogstart);
        	bei_progstartCheckBoxPref.setKey("bei_prog_start_toggle");   
        	bei_prog_startPrefCat.addPreference(bei_progstartCheckBoxPref);
        	EditTextPreference editTextname = new EditTextPreference(this);
        	editTextname.setDialogTitle(R.string.einstellungen_beiprogstart_nametitel);
        	editTextname.setKey("edittext_name");
        	editTextname.setDependency("bei_prog_start_toggle");


    so funktioniert es nicht, ich erhalte einen Fehler genau an der Stelle, wo setDependency aufgelöst werden soll,

    Code
    01-03 16:41:09.119: E/AndroidRuntime(4209): Caused by: java.lang.IllegalStateException: Dependency "bei_prog_start_toggle" not found for preference "edittext_name" (title: "null"


    Ich hatte gedacht setDependency würde genauso arbeiten wie android:dependency
    Welchen Gedankenfehler mach ich?
    Fragende Grüße, schymura ?(

    Hallo,
    nachdem ich nun die Ratschläge von killphil75 ausprobiert habe kann ich nur sagen, super!
    Alles läuft wie gewünscht. In der PreferenceActivity werden dann die Dialoge nach dem Orientierungswechsel (das Gerät wurde gedreht) hinter den Spinner Objekten von Android wieder angezeigt, wenn sie gerade bei drehen des Gerätes angezeigt wurden.
    Und auch das ScrollView wird dann in etwa wieder richtig positioniert......
    Danke nochmals und schöne Grüße, schymura :sleeping:

    Hallo killphil75,
    nochmals danke für die schnelle Antwort.

    Zitat

    Jetzt muss ich aber noch mal ganz genau nachfragen -> du baust Dir gerade eine Seite mit Einstellungen zusammen ? Richtig ?


    Warum benutzt du nicht die Android übliche Variante ->
    PreferenceActivity ? -> da kümmert sich Android um das sichern bzw
    wiederherstellen der Zustände/Daten.

    Wahrscheinlich, weil ich diese Variante nicht gefunden hatte, bin ja schließlich wirklich Anfänger bei Android und Java. So hatte ich mir also eine eigene Einstellungsseite zusammen gebastelt, die auch in soweit gut funktioniert, bis auf die Spinnersache beim Orientierungswechsel.
    So werde ich also mal die
    PreferenceActivity testen um zu sehen, ob das so läuft, wie ich es mir wünsche.
    Danke und schöne Grüße, schymura ^^

    Hallo killphil75,
    danke für die wieder sehr schnelle Antwort.
    Der Links für das Tutorial auf deutsch hat mir sehr geholfen, jetzt kann ich also die ganze Einstellungssache in eine ListView packen, die ja dann von selbst "richtig" scrollt. wenn man es ihr sagt.

    Zitat

    -> na die Sache mit dem Spinner hängt ja immer an einem Adapter, da bekommst du die Position der Auswahl her.

    Ja, stimmt, da habe ich dann auch getPosition() und so gefunden. Nur leider hilft mir das auch nicht viel, dann dadurch weiß ich ja immer noch nicht, ob die geöffnete Spinnerauswahl angezeigt wurde als die Orientierung des Gerätes geändert wurde, oder ob der Spinner gerade geschlossen war, so dass ich dessen Auswahl nicht öffnen muss in onSaveInstanceState.


    Wenn es denn überhaupt keine Möglichkeit geben sollte bei einem Spinner diesen Zustand abzufragen und entsprechend zu reagieren, dann müsste ich die Spinner durch einfache Button ersetzen, die dann jeweils einen Auswahldialog anzeigen müssten.
    Dann wüsste ich zumindest, ob gerade die Auswahl angezeigt wurde, oder nicht und könne entsprechend reagieren.
    Dankbare Grüße,
    schymura ^^

    Hallo killphil75,
    danke für die schnelle Antwort.
    Anscheinend haben wir beide unterschiedliche SDK's.
    Bei mir gibt es beim Spinner wirklich kein getPosition(). Ich könnte höchstens mit getLastVisiblePosition() dienen.
    Das bringt mir aber überhaupt nichts, denn dadurch erfahre ich nun wirklich nicht, ob der Spinner gerade zur Auswahl geöffnet war oder nicht.
    So kann ich dann auch bei einem Orientierungswechsel nicht richtig reagieren.


    Dies Sache mit dem ListView statt dem ScrollView scheint interessant zu sein. Bekommst du denn in ein ListView auch alle anderen Objekte (Spinner, Button, ToggelButton, TextViews etwa) hinein? Wenn ja, könnte ich das ja noch ändern.....
    Schöne Grüße, schymura ^^

    Hallo, Eure Seite hat mir schon öfter mal geholfen, da ich totaler Anfänger mit Java und Android bin. Dafür schon mal danke!
    Nun habe ich jedoch ein paar Probleme, die ich so nicht lösen konnte, deshalb habe ich mich als erstes im Neuen Jahr bei Euch angemeldet.
    Problem 1 ist: Ich habe eine Einstellungs-Activity, die nur aus 2 Button und einem ScrollView besteht. Das ScrollView ist etwa 3 x so hoch wie das Display in senkrechter Ausrichtung. Bei einem Wechsel der Ausrichtung des Gerätes möchte ich es nun erreichen, dass wieder der gleiche Teil des ScrollViews zu sehen ist.
    Ich speichere bei einem Ausrichtungswechsel über outState.putInt() die Werte von das_scrollview.getScrollX() und das_scrollview.getScrollY() und setze sie dann nach dem Einlesen im if (savedInstanceState != null) wieder über das_scrollview.scrollBy(x,y), auch das_scrollview.scrollTo(x,y)
    Nur leider reagiert das ScrollView überhaupt nicht. Es steht dann immer ganz oben, welchen Fehler machte ich??
    Problem 2:
    Ich habe mehrere Spinner in dieser Einstellungs-Activity und kann auch über deren setOnItemSelectedListener() die entsprechende Auswahl setzen und feststellen, aber, wie kann ich mitbekommen, ob der Auswahldialog geöffnet ist, oder ob der Spinner geschlossen ist, den setOnClickListener() funktioniert ja da nicht. Denn auch hier möchte ich bei Orientierungsänderung den "alten" Zustand wieder herstellen können. Falls ich das falsche Objekt gewählt habe, so müsste ich halt statt der Spinner Button nutzen und dann entsprechende Dialoge anzeigen.
    Ich hoffe auf freundliche Hilfe, nicht nur auf Verweise https://developer.android.com/guide/components/index.html, denn mein Englisch ist mehr als schlecht.
    Schöne Neujahrgrüße übrigens noch an alle, schymura.