Beiträge von Chrizzle

    Sers,


    ich habe ein Problem mit dem ViewFlipper. Und zwar habe ich 3 Tabs. im ersten befindet sich nur ein Button und ein TextView. In den beiden anderen sind 2 ListViews angelegt. Ich habe den ViewFlipper in meiner TabActivity angelegt. Mit einem onTouchEvent fange ich die Bewegung ab und setze den aktuellen Tab dementsprechend. Mein Problem ist, dass es nur im ersten Tab funktioniert. Meine Vermutung ist, dass meine ListViews, die fill_parent gesetzt sind, dieses TouchEvent nicht akzeptieren, da sie ihr eigenes TouchEvent haben.
    Hat jemand einen Einfall dazu?

    Hab eben den Fehler gefunden. Beim Kippen des Telefons wird onDestroy() aufgerufen. Da ich das Telefon zum Scannen drehen muss, hing es immer davon ab, ob ich das Telefon vor oder nach dem Öffnen des Barcodescanner Apps gedreht habe :D
    Was ein blödes Problem...
    Mit android:configChanges="orientation|keyboardHidden" verhinder ich, dass dies geschieht. Zack alles läuft. Da macht man sich Tage lang Gedanken und dann liegt es an so etwas bescheuertem.
    Trotzdem danke für die Hilfe :)


    Edit:
    Der Code der im onDestroy() liegt, entfernt nur den Listener aus meiner webApi. Setzt sie aber nicht komplett null. Da hatte ich mich wohl schlecht ausgedrückt :)
    Und das soll eben dort liegen.

    Er läuft natürlich trotzdem in das onDestroy() rein. Und daraus folgt natürlich dass alle Klassenvariablen null werden. Somit auch meine webApi. Das seltsame ist aber, dass es nicht immer der Fall ist. Die Chance steht aber 70/30, dass onDestroy() aufgerufen wird :)
    Auch dein Tipp konnte mir daher leider nicht helfen :/


    Edith sagt:
    Hab nochmal mit ganz kleinen Schritten durchdebugged. In dem Moment, in dem ich einen Barcode eingescannt habe(die Activity wurde also schon lange verlassen), wird erst das onDestroy() der Ursprungs-Activity aufgerufen. Was aber wie gesagt nicht immer passiert. Wenn es aber eintritt, dann gleich mehrmals hintereinander. Sehr sehr skuril

    Hallo zusammen,


    ich habe ein Problem mit meinem Lifecycle.
    Ich rufe von einer Activity die zxing Barcodescanner App auf.


    Java
    this.intentIntegrator = new IntentIntegrator(this);
     this.intentIntegrator.initiateScan();


    Hier die Methode im IntenIntegrator:


    und dann geht der Spaß los. im onActivityResult verarbeite ich das Ergebnis:



    ich schiebe den Barcode in einen Hintergrundprozess, wo er an einen SOAP Service geschickt wird. Genau hier habe ich das Problem.
    Hier wird in der Ursprungs-Activity ab und an das onDestroy(nicht immer) aufgerufen und somit wird meine wepApi null:


    Hier hängt sich meine App natürlich auf. Ich vermute ja, dass Android aufgrund von Speicherplatz einfach meine Ursprungs-Activity killt. Aber wie gehe ich dagegen vor? Kann ich das irgendwie verhindern? Oder habe ich eine Möglichkeit meine webApi zu sichern?


    Viele Grüße
    Christian

    Du könntest einfach alles akzeptieren was du bekommst.
    So hat es bei mir funktioniert:



    Ich habe soweit alles umgesetzt:



    Ich habe nur nachwievor das Problem mit dem Accounttypen. Ich möchte gerne einen komplett neuen haben, den ich dann den Kontakten zuweisen kann, die ich mit meiner App erstellt habe. Bin da auf Quellen mit dem AccountManager gestoßen, kam damit aber nicht wirklich zurecht. Vielleicht hat ja jemand Erfahrung mit dem Umgang der damit in Zusammenhang stehenden Klassen und kann mir da unter die Arme greifen bzw ein paar hilfreiche Tipps geben...


    Vielen Dank
    Christian

    Hallo zusammen,


    ich habe folgendes in Planung:
    Ich habe ein Objekt mit verschiedenen Informationen über einen Kontakt, welches ich mir von einem Webservice abhole. Nun möchte ich mit diesen Properties einen neuen Kontakt erstellen. Bislang habe ich es wie folgt geregelt:

    Java
    public void createContact(Contacts contact) {        Intent intent = new Intent(Intent.ACTION_INSERT);        intent.setType(ContactsContract.Contacts.CONTENT_TYPE);                intent.putExtra(ContactsContract.Intents.Insert.NAME, contact.getTitle() +                                                              contact.getFirstName() + " " +                                                              contact.getSecondName());        intent.putExtra(ContactsContract.Intents.Insert.PHONE, contact.getPhone());        intent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, "Büro");        intent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE, contact.getMobilePhone());        intent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE, "Mobil");        intent.putExtra(ContactsContract.Intents.Insert.TERTIARY_PHONE, contact.getFax());        intent.putExtra(ContactsContract.Intents.Insert.TERTIARY_PHONE_TYPE, "Fax");        intent.putExtra(ContactsContract.Intents.Insert.EMAIL, contact.getEmail());        intent.putExtra(ContactsContract.Intents.Insert.COMPANY, contact.getCompany());        intent.putExtra(ContactsContract.Intents.Insert.POSTAL, contact.getZipCode());        intent.putExtra(ContactsContract.Intents.Insert.JOB_TITLE, contact.getFunction());        intent.putExtra(ContactsContract.Intents.Insert.POSTAL_TYPE, "PLZ");


    Mit dieser Möglichkeit bin ich aber stark eingeschränkt. Ich kann z.B. Vor- und Nachname nicht von einander trennen. Dazu kann ich nicht alle Informationen, die mir der Webservice gibt, einbauen. Hier die XML die ich bekomme und parse:



    XML
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">   <s:Body>      <getVisitenkarteByBarcodeResponse xmlns="http://tempuri.org/">         <getVisitenkarteByBarcodeResult xmlns:a="http://schemas.datacontract.org/2004/07/ADITUS.LeadTrackingService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">            <a:abteilung></a:abteilung>            <a:anrede></a:anrede>            <a:branche></a:branche>            <a:email></a:email>            <a:fax/>            <a:firma></a:firma>            <a:funktion></a:funktion>            <a:handy/>            <a:nachname></a:nachname>            <a:nation></a:nation>            <a:ort></a:ort>            <a:plz></a:plz>            <a:strasse></a:strasse>            <a:strasse2/>            <a:telefon/>            <a:titel/>            <a:vorname></a:vorname>         </getVisitenkarteByBarcodeResult>      </getVisitenkarteByBarcodeResponse>   </s:Body></s:Envelope>



    Daher wäre es schön, wenn ich die Möglichkeit hätte, neue Felder im Kontakt zu erstellen und sie beliebig zu benennen. Dazu möchte ich die Möglichkeit haben, einen neuen Kontakt Typ zu haben, dem ich meinen neuen Kontakt zuordnen kann, wie z.B. googlemail oder Facebook etc.
    Ich trete ein wenig auf der Stelle. Wäre schön, wenn jemand eine Idee für mich hat.


    Liebe Grüße
    Christian