Appwidget PreferenceScreen Force Close

  • Hallo liebe Community,


    bei meinem Appwidget soll sich ein PreferenceScreen das in einer XML datei definiert ist bei anlegen des Widgets auf demn Homescreen öffnen, jedoch bekomme ich sofort eine Force Close Fehlermeldung wenn das PreferenceScreen aufgerufen wird.


    Hier mal der auszug aus der Manifest:


    Java
    <activity android:name="configure">
          <intent-filter>
     <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
      	</intent-filter>
     </activity>


    dann die configure.java


    Java
    public class configure extends PreferenceActivity {
        public void onCreate(Bundle savedInstanceState) {        
            onCreate(savedInstanceState);        
            addPreferencesFromResource(R.xml.configure);     
        }    
        
    }


    und die configure.xml aus dem res/xml verzeichniss...


    Java
    <?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
        <PreferenceScreen>
            <ListPreference android:entryValues="@drawable/abc" android:title="abc"/>
            <ListPreference android:entryValues="@drawable/def" android:title="def"/>
        </PreferenceScreen>
    </PreferenceScreen>



    Danke schonmal im vorraus !

  • Ist zwar nur eine Vermutung, aber in der configure.xml hast du dem android:entryValues ein Drawable gegeben - normalerweise sollte dort eine Referenz auf ein Array stehen, z.B. @array/prefs1EntryValues. Zusätzlich solltest du auch noch android:entries dazu packen, das sind die Strings die angezeigt werden...


    Die Arrays mit den Entries und EntryValues muss in strings.xml als string-array eingebunden werden:

    HTML
    <string-array name="prefs1Entries">
            <item>erste Einstellung</item>
            <item>zweite Einstellung</item>
        </string-array>
        <string-array name="prefs1EntryValues">
            <item>first</item>
            <item>second</item>
        </string-array>


    Wenn das nicht hilft, dann kopiere doch bitte ein paar interessante Zeilen der Fehlermeldungen im LogCat, da steht wahrscheinlich genaueres... ;)

  • hmm...


    nun dachte ich mir ich probiere es nun mal zwischendurch auf dem handy... jetzt tritt ein anderes problem auf...



    zuvor funktionierte das widget an sich prima... nun seit dem die configuration funktioniert wird das widget nicht mehr hinzugefügt... es öffnet sich die configuration, wenn ich diese schließe ich auch kein widget zu sehen...


    muss ich da soetwas wie ein OK button einbauen ? denn im moment komme ich mit der zurück-taste aus dem configurations screen raus...

  • nein, einen OK-Button brauchst du nicht, die PreferencesActivity (von der erbt dein configure) speichert immer sofort beim Ändern eines Feldes.


    Da musst du an deiner MainActivity wohl noch etwas machen - du kannst ja zunächst auch mal die gespeicherten Werte einfach anzeigen lassen, damit du sicher bist, dass du auf die richtigen Werte schaust.


    Am besten machst du das in onResume() - denn die Methode wird bei Rückkehr von einer anderen Activity aufgerufen (onCreate nur beim Start der Activity).

  • für das Widget nutze ich einen Receiver. (Das widget ist eine analoge uhr)...


    die Widget.java...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!