Marcel Bruckmann
- Forum-Beiträge: 5
01.05.2013, 21:05:20 via Website
01.05.2013 21:05:20 via Website
Hallo an Alle!
Ich möchte gerne eine ListView erstellen, die sich die Daten aus einer arrays.xml holt mit Hilfe von string-array. So weit so gut. In der ListView stehen also jetzt die Daten. Durch public void onListItemClick() in meiner Klasse habe ich herausgefunden, dass ich für jedes Item meiner Liste einen Toast ausgeben kann. In meiner App möchte ich aber nicht einen Toast ausgeben sondern eine neue Activity aufrufen. Das geht mit startActivity(new Intent(this, ABC.class)); . Das Layout sollte bei jedem ITEM gleich sein. In dem Layout sind Textviews, die sich je nachdem welches ITEM angeklickt wurde ändern.
Als Beispiel könnte eine Liste von Autonamen haben. Klickt man auf ein Auto, so bekommt man in der neuen Activity die Daten (PS, Kilometerstand, Farbe usw.) angezeigt.
Durch eine Klasse Auto habe ich das Grundkonstrkt gebaut:
Wie könnte ich das lösen? Wenn ich auf ein Item klicke kann ich ja ein String ausgeben lassen. Aber vielleicht gibt es auch noch eine andere Lösung. Jedenfalls komme ich hier nicht weiter. Ich hoffe ihr könnt mir weiterhelfen. Wenn noch fragen sind (da ich noch Leihe bin), einfach stellen.
Grüße
Ich möchte gerne eine ListView erstellen, die sich die Daten aus einer arrays.xml holt mit Hilfe von string-array. So weit so gut. In der ListView stehen also jetzt die Daten. Durch public void onListItemClick() in meiner Klasse habe ich herausgefunden, dass ich für jedes Item meiner Liste einen Toast ausgeben kann. In meiner App möchte ich aber nicht einen Toast ausgeben sondern eine neue Activity aufrufen. Das geht mit startActivity(new Intent(this, ABC.class)); . Das Layout sollte bei jedem ITEM gleich sein. In dem Layout sind Textviews, die sich je nachdem welches ITEM angeklickt wurde ändern.
Als Beispiel könnte eine Liste von Autonamen haben. Klickt man auf ein Auto, so bekommt man in der neuen Activity die Daten (PS, Kilometerstand, Farbe usw.) angezeigt.
1arrays.xml
2
3<?xml version="1.0" encoding="utf-8"?>
4<resources>
5 <string-array name="autoliste">
6
7 <item>Mercedes</item>
8 <item>Audi</item>
9
10 </string-array>
11</resources>
2
3<?xml version="1.0" encoding="utf-8"?>
4<resources>
5 <string-array name="autoliste">
6
7 <item>Mercedes</item>
8 <item>Audi</item>
9
10 </string-array>
11</resources>
1activity_main.xml
2<ListView
3 android:id="@+id/android:list"
4 android:layout_width="fill_parent"
5 android:layout_height="wrap_content"
6 />
2<ListView
3 android:id="@+id/android:list"
4 android:layout_width="fill_parent"
5 android:layout_height="wrap_content"
6 />
1public class AutoAuswahl extends ListActivity {
2 protected void onCreate(Bundle savedInstanceState){
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.activity_main);
5 ArrayAdapter<String> adapter =
6 new ArrayAdapter<String>(
7 this,
8 android.R.layout.simple_list_item_1,
9 getResources().getStringArray(R.array.autoliste));
10 setListAdapter(adapter);
11
12 }
13
14public void onListItemClick(
15 ListView l, View v, int position, int id){
16
17 startActivity(new Intent(this, ABC.class));
18
19}
20}
2 protected void onCreate(Bundle savedInstanceState){
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.activity_main);
5 ArrayAdapter<String> adapter =
6 new ArrayAdapter<String>(
7 this,
8 android.R.layout.simple_list_item_1,
9 getResources().getStringArray(R.array.autoliste));
10 setListAdapter(adapter);
11
12 }
13
14public void onListItemClick(
15 ListView l, View v, int position, int id){
16
17 startActivity(new Intent(this, ABC.class));
18
19}
20}
Durch eine Klasse Auto habe ich das Grundkonstrkt gebaut:
1class Auto{
2
3 private String ps;
4 private String kilometer;
5
6 public Frage(String p, String k){
7 pferdestaerken = p;
8 kilometer = k;
9
10 }
11
12 public void anzeigen(Activity activity_auto ){
13 ((TextView) activity_verb.findViewById(id.kilometer)).setText(kilometer);
14 ((TextView) activity_verb.findViewById(id.pferdestaerken)).setText(pferdestaerken);
15 }
16}
2
3 private String ps;
4 private String kilometer;
5
6 public Frage(String p, String k){
7 pferdestaerken = p;
8 kilometer = k;
9
10 }
11
12 public void anzeigen(Activity activity_auto ){
13 ((TextView) activity_verb.findViewById(id.kilometer)).setText(kilometer);
14 ((TextView) activity_verb.findViewById(id.pferdestaerken)).setText(pferdestaerken);
15 }
16}
Wie könnte ich das lösen? Wenn ich auf ein Item klicke kann ich ja ein String ausgeben lassen. Aber vielleicht gibt es auch noch eine andere Lösung. Jedenfalls komme ich hier nicht weiter. Ich hoffe ihr könnt mir weiterhelfen. Wenn noch fragen sind (da ich noch Leihe bin), einfach stellen.
Grüße
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.