1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Ich verzweifle an meinem Layout

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Micka, 30.12.2011.

  1. Micka, 30.12.2011 #1
    Micka

    Micka Threadstarter Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Hallo,

    ich habe ein Problem mit meinem wie ich finde simplen Layout.

    Wenn die App fertig ist soll das ganze ein ziemlich einfach gehaltenes Haushaltsbuch werden. In Java habe ich das schonmal realisiert, aber in "Android" will es mir nicht gelingen.

    Die erste Seite der App funktioniert soweit einwandfrei. Wenn ich dann auf den Button drücke der zu einer späteren Eingabemaske führen soll machts peng. Ich vermute mal das das ganze etwas mit dem <Spinner> zu tun hat, da es läuft wenn ich alle <Spinner> auskommentiere. Sobald ich auch nur einen der <Spinner> wieder "einkommentiere" machts Peng!

    Hier erstmal das Layout:
    PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
    >
        <TableRow>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Geben sie ein Datum an"
            />
        </TableRow>
    <!--     Datum -->
        <TableRow>
            <Spinner
                android:id="@+id/datum_Tag"
                android:layout_width="fill_parent"
            android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:entries="@array/tag"
                android:entryValues="@array/tag_wert"
            />
            <!-- <Spinner
                android:id="@+id/datum_Monat"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:entries="@array/monat"
                android:entryValues="@array/monat_wert"
            /> -->
            <!-- <Spinner
                android:id="@+id/datum_Jahr"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:entries="@array/jahr"
                android:entryValues="@array/jahr_wert"
            /> -->
        </TableRow>
        <TableRow>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Zweck:"
            />
            <EditText
                android:id="@+id/zweck"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                    android:inputType="text"
            />
        </TableRow>
        
        <!-- <Button
            android:id="@+id/button_eintragen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Eintragen"
        /> -->
    </TableLayout>
    Hier noch die zugehörige Activity:
    PHP:
    package micka.finanzen;

    import java.util.Calendar;

    import android.app.Activity;
    import android.os.Bundle;





    public class 
    EintragHinzufuegenActivity extends Activity
    {
        public 
    void onCreate(Bundle savedInstanceState)
        {
            
    super.onCreate(savedInstanceState);
            
    setContentView(R.layout.eintraghinzufuegenlayout);
        }
    }

    Und hier die OutLine von LogCat

    Ist meine erste Android App, vielleicht hab ich ja einen echt dummen Fehler gemacht und deswegen knallen mir die Exceptions um die Ohren.
    Wäre echt cool wenn Jemand von euch den fehler findet. Ich selbst werde auch weiter daran arbeiten und sollte ich es behoben haben natürlich die Lösung hier posten.

    Im angehangenen Archiv findet ihr das Eclipse Projekt sowie eine Log.txt.

    Im Voraus schonmal Danke für die Aufmerksamkeit und eventuelle Hilfe :)
     

    Anhänge:

  2. Micka, 30.12.2011 #2
    Micka

    Micka Threadstarter Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Okay, mittlerweile habe ich rausbekommen das es wohl an dem Array liegt. Warum wieso weshalb da eine NullPointerException geschmissen wird verstehe ich wiederrum nicht.
     
  3. Micka, 30.12.2011 #3
    Micka

    Micka Threadstarter Erfahrener Benutzer

    Beiträge:
    173
    Erhaltene Danke:
    1
    Registriert seit:
    30.12.2011
    Das Problem ist nun gefunden und gelöst.
    Bevor ich mich an meine eigene App gesetzt habe, habe ich anhand eines Buches eine BeispielAPP geschrieben. Darin wurden auch <Spinner> verwendet. In der Arrays.xml dieses Projektes habe ich die Arrays Folgendermaßern definiert.

    PHP:
    <?xml version="1.0" encoding="UTF-8"?>
    <resources>
        <array name="ust_anzeige">
              <item>19 Prozent</item>
              <item>16 Prozent</item>
              <item>7 Prozent</item>
          </array>
          <array name="ust_werte">
              <item>19</item>
              <item>16</item>
              <item>7</item>
          </array>
    </resources>
    Hat auch funktioniert ohne Exception.

    In meinem Projekt hatte ich das gleich und es gab Exceptions.
    Die Lösung für das Problem ist ziemlich einfach. Man muss die Werte in dem Array das für die Anzeige bestimmt ist als Strings angeben wenn es reine Zahlen sind. Im Beispiel wurden die Einheiten ja noch ausgeschrieben wodurch der Compiler diese automatisch als String erkannt hat. In Meiner App hingegen sind auch die anzuzeigenden Werte reine Zahlen welche dann als Integer interpretiert werden. Zur Anzeige sind aber Strings notwendig.
    Die richtige Quellcode für meine Anwendung muss also wie folgt lauten.

    PHP:
    <?xml version="1.0" encoding="UTF-8"?>
    <resources>
        <array name="tag_anzeige">
              <item>"01"</item>
              <item>"02"</item>
              <item>"03"</item>
              <item>"04"</item>
              <item>"05"</item>
              <item>"06"</item>
              <item>"07"</item>
              <item>"08"</item>
              <item>"09"</item>
              <item>"10"</item>
              <item>"11"</item>
              <item>"12"</item>
              <item>"13"</item>
              <item>"14"</item>
              <item>"15"</item>
              <item>"16"</item>
              <item>"17"</item>
              <item>"18"</item>
              <item>"19"</item>
              <item>"20"</item>
              <item>"21"</item>
              <item>"22"</item>
              <item>"23"</item>
              <item>"24"</item>
              <item>"25"</item>
              <item>"26"</item>
              <item>"27"</item>
              <item>"28"</item>
              <item>"29"</item>
              <item>"30"</item>
              <item>"31"</item>
          </array>
          <array name="tag_wert">
              <item>01</item>
              <item>02</item>
              <item>03</item>
              <item>04</item>
              <item>05</item>
              <item>06</item>
              <item>07</item>
              <item>08</item>
              <item>09</item>
              <item>10</item>
              <item>11</item>
              <item>12</item>
              <item>13</item>
              <item>14</item>
              <item>15</item>
              <item>16</item>
              <item>17</item>
              <item>18</item>
              <item>19</item>
              <item>20</item>
              <item>21</item>
              <item>22</item>
              <item>23</item>
              <item>24</item>
              <item>25</item>
              <item>26</item>
              <item>27</item>
              <item>28</item>
              <item>29</item>
              <item>30</item>
              <item>31</item>
          </array>
          <array name="monat_anzeige">
              <item>"01"</item>
              <item>"02"</item>
              <item>"03"</item>
              <item>"04"</item>
              <item>"05"</item>
              <item>"06"</item>
              <item>"07"</item>
              <item>"08"</item>
              <item>"09"</item>
              <item>"10"</item>
              <item>"11"</item>
              <item>"12"</item>
        </array>
        <array name="monat_wert">
              <item>01</item>
              <item>02</item>
              <item>03</item>
              <item>04</item>
              <item>05</item>
              <item>06</item>
              <item>07</item>
              <item>08</item>
              <item>09</item>
              <item>10</item>
              <item>11</item>
              <item>12</item>
        </array>
        <array name="jahr_anzeige">
            <item>"2011"</item>
            <item>"2012"</item>
            <item>"2013"</item>
            <item>"2014"</item>
            <item>"2015"</item>
            <item>"2016"</item>
            <item>"2017"</item>
            <item>"2018"</item>
            <item>"2019"</item>
            <item>"2020"</item>
            <item>"2021"</item>
            <item>"2022"</item>
            <item>"2023"</item>
            <item>"2024"</item>
            <item>"2025"</item>
            <item>"2026"</item>
            <item>"2027"</item>
            <item>"2028"</item>
            <item>"2029"</item>
            <item>"2030"</item>
        </array>
        <array name="jahr_wert">
            <item>2011</item>
            <item>2012</item>
            <item>2013</item>
            <item>2014</item>
            <item>2015</item>
            <item>2016</item>
            <item>2017</item>
            <item>2018</item>
            <item>2019</item>
            <item>2020</item>
            <item>2021</item>
            <item>2022</item>
            <item>2023</item>
            <item>2024</item>
            <item>2025</item>
            <item>2026</item>
            <item>2027</item>
            <item>2028</item>
            <item>2029</item>
            <item>2030</item>
        </array>
    </resources>
     

Diese Seite empfehlen