{"id":1389,"date":"2016-02-13T17:03:42","date_gmt":"2016-02-13T17:03:42","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1389"},"modified":"2016-02-14T18:01:25","modified_gmt":"2016-02-14T18:01:25","slug":"android-app-hauptseite-mit-auswahlliste","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/android-app-hauptseite-mit-auswahlliste\/","title":{"rendered":"Android App: Hauptseite mit Auswahlliste"},"content":{"rendered":"<p>Siehe Chapter 6 aus: <a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/Head-First-Android-Development-2015.pdf\">Head-First-Android-Development-2015<\/a><\/p>\n<p>Auf dem Hauptbildschirm erscheint eine Liste von Optionen zur Auswahl, die man anklicken kann.<\/p>\n<p>Nach der Auswahl wird die neue Aktivit\u00e4t aufgerufen.<a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/ListAuswahl_Android1.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1394\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/ListAuswahl_Android1.png\" alt=\"ListAuswahl_Android\" width=\"903\" height=\"540\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/ListAuswahl_Android1.png 903w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/ListAuswahl_Android1-300x179.png 300w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Java-Struktur<\/strong><\/p>\n<ul>\n<li>Alle Aktivit\u00e4ten (Auswahlen) erhalten eine Klasse.<br \/>\nEs gibt die Hauptklasse (hier Top Level Activity) und\u00a0 zu jeder Auswahl folgt eine Klasse (Klasse Drinks, Klasse Men\u00fcs, Klasse Standorte).<\/li>\n<li>In der Anzeigeklassen wird das Anzeigen der Elemente verwaltet<\/li>\n<li>Soll nach der ersten Auswahl noch weitere Details angezeigt werden, erhalten diese auch wieder eine Aktivit\u00e4tsklasse.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Anzeigeklasse<\/strong><\/p>\n<pre class=\"lang:sh decode:true \">public <strong>class Drink<\/strong> {\r\n    private String name;\r\n    private String description;\r\n    private int imageResourceId;\r\n\r\n    \/\/ drinks is an array of Drinks\r\n    public static final Drink[] drinks = {     \/\/ Bild hinzuf\u00fcgen\r\n            new Drink(\"Latte\", \"With milk\", <strong><span style=\"color: #800080;\">R.<\/span><\/strong>drawable.latte),\r\n            new Drink(\"Cappu\", \"With chocolate\", <strong><span style=\"color: #800080;\">R.<\/span><\/strong>drawable.cappucino),\r\n            new Drink(\"Filter\", \"With water\", <strong><span style=\"color: #800080;\">R<\/span><\/strong>.drawable.filter)\r\n    };\r\n\r\n    \/\/<span style=\"color: #000000;\"><strong>Each Drink has a name, description, and an image ressource<\/strong><\/span>\r\n    <span style=\"color: #3366ff;\">private Drink<\/span> (String name, String description, int imageResourceId){\r\n        this.<span style=\"color: #3366ff;\">name<\/span> = name;\r\n        this.<span style=\"color: #3366ff;\">description<\/span> = description;\r\n        this.<span style=\"color: #3366ff;\">imageResourceId<\/span> = imageResourceId;\r\n    }\r\n\r\n    public String getDescription() {\r\n        return description;\r\n    }\r\n\r\n    public String getName(){\r\n        return name;\r\n    }\r\n\r\n    public int getImageResourceId(){\r\n        return imageResourceId;\r\n    }\r\n\r\n    public String toString(){\r\n        return this.name;\r\n    }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Layout Liste einbauen<\/strong><\/p>\n<p>Man findet unter Container die Listview. <a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/Android_ListAuswahl.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1401\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/Android_ListAuswahl.png\" alt=\"Android_ListAuswahl\" width=\"414\" height=\"93\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/Android_ListAuswahl.png 414w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/Android_ListAuswahl-300x67.png 300w\" sizes=\"(max-width: 414px) 100vw, 414px\" \/><\/a><\/p>\n<pre class=\"\">\/\/ top_level_activity.xml\r\n&lt;ListView\r\n    android:id=\"@+id\/list_options\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"wrap_content\"\r\n    android:<span style=\"color: #ff0000;\">entries=\"@array<\/span>\/options\" \/&gt;    \/\/ die Auswahlnamen in Array<\/pre>\n<pre class=\"\">\/\/ string.xml\r\n&lt;resources&gt;\r\n    ...\r\n    &lt;<span style=\"color: #ff0000;\">string-array name=\"options\"<\/span>&gt;\r\n        &lt;item&gt;<strong>Drinks<\/strong>&lt;\/item&gt;\r\n        &lt;item&gt;<strong>Food<\/strong>&lt;\/item&gt;\r\n        &lt;item&gt;<strong>Stores<\/strong>&lt;\/item&gt;\r\n    &lt;\/string-array&gt;\r\n\r\n&lt;\/resources&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Elemente der Auswahlklasse sollen antworten<\/strong><br \/>\nDies geschieht \u00fcber einen <strong><span style=\"color: #ff0000;\">EventListener<\/span><\/strong>. So h\u00f6ren die Klassenvariablen auf eine Aktivit\u00e4t. Um einen EventListener zu implementieren, muss die <span style=\"color: #ff0000;\">Methode <span class=\"lang:sh decode:true  crayon-inline \">OnItemClickListener()<\/span>\u00a0 implementiert<\/span> werden.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>..<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<br \/>\n<a href=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/DoppelteListAuswahl_Android.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1395\" src=\"http:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/DoppelteListAuswahl_Android.png\" alt=\"DoppelteListAuswahl_Android\" width=\"1242\" height=\"795\" srcset=\"https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/DoppelteListAuswahl_Android.png 1242w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/DoppelteListAuswahl_Android-300x192.png 300w, https:\/\/coolt.ch\/notizen\/wp-content\/uploads\/2016\/02\/DoppelteListAuswahl_Android-1024x655.png 1024w\" sizes=\"(max-width: 1242px) 100vw, 1242px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Siehe Chapter 6 aus: Head-First-Android-Development-2015 Auf dem Hauptbildschirm erscheint eine Liste von Optionen zur Auswahl, die man anklicken kann. Nach der Auswahl wird die neue Aktivit\u00e4t aufgerufen. &nbsp; Java-Struktur Alle Aktivit\u00e4ten (Auswahlen) erhalten eine Klasse. Es gibt die Hauptklasse (hier Top Level Activity) und\u00a0 zu jeder Auswahl folgt eine Klasse (Klasse Drinks, Klasse Men\u00fcs, Klasse &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/android-app-hauptseite-mit-auswahlliste\/\" class=\"more-link\"><span class=\"screen-reader-text\">Android App: Hauptseite mit Auswahlliste<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[30],"tags":[],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1389"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1389"}],"version-history":[{"count":11,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1389\/revisions"}],"predecessor-version":[{"id":1409,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1389\/revisions\/1409"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}