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

ListView

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von StefMa, 07.10.2011.

  1. StefMa, 07.10.2011 #1
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hallo,

    zurzeit sieht meine App so aus:
    http://iceload.iceclaw.net/files/72b386_vorlage.png (Ok, doch ein bisschen groß geworden ;))

    Oben ist ein Banner
    Unten befindet sich Werbung und weiter Infos
    Die mitte füllt sich mit ganz vielen Buttons, die weiter Activits aufrufen.
    Die mitte, also da wo die buttons drinne stecken, habe ich mit einem ScrollView umrandet. Somit, falls die Buttons "zu viele" werden, scrollt das ding runter.

    Jetzt habe ich mir letztens gedacht, dass ein Listview evt. viel schicker aussehen könne. Leider ist im developer bereich von android nur eine erklärung zu nicht .xml-Format. IM netz finde ich auch nichts weiter darüber, diese "leicht" als xml zu realisieren.
    hatte es mir eigentlich so vorgestellt, dass ich das scrollview ersetzte. So einfach gehts aber micht ;)

    Geht es überhaupt es mit xml zu erstellen? Wie könnte ich "leicht" die Buttons ins Listviewändern?! (Natürlich werden aus den buttons texte :D) Und wie kann ich dann entscheiden ob text X angeklickt worden ist oder Y. (setOnClickListener)...

    MfG Ice

    P.s.: Rechtschreibsl blub dies das könnt ihr behalten :D
     
  2. sixi, 07.10.2011 #2
    sixi

    sixi Erfahrener Benutzer

    Beiträge:
    237
    Erhaltene Danke:
    64
    Registriert seit:
    20.01.2009
    wenn das der Grund ist, dann spar es dir. Optisch macht es keinen Unterschied wenn du die Standard Buttons verwendest. Und du könntest in der ListView nichts anderes machen als du schon tust...

    ...lediglich, wenn du die Buttons halbwegs dynamisch hinzufügen willst macht ein ListView Sinn!
     
  3. StefMa, 07.10.2011 #3
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
  4. sixi, 07.10.2011 #4
    sixi

    sixi Erfahrener Benutzer

    Beiträge:
    237
    Erhaltene Danke:
    64
    Registriert seit:
    20.01.2009
    Achso, ja wenn du einen "normalen" ArrayListView mit Standard-Elementen nimmst natürlich. Ging davon aus, dass du die Buttons nur "umpacken" willst in eine Liste.

    Für einfache Listen findest du hier z.B. nen Tutorial.
     
  5. StefMa, 08.10.2011 #5
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hi,

    danke dir. Hat mir sehr geholfen die Seite.
    Für alle unwissenden und interessierten:

    meine main.xml sieht wie folgt aus:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        
        <TextView android:id="@+id/header_txt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Header Text"
            android:textSize="55px"/>
            
        <ListView android:id="@+id/listView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50px"/>
            
        <TextView android:id="@+id/footer_txt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Footer Text"
            android:textSize="50px"
            android:layout_marginTop="-60px"/>
    </LinearLayout>
    
    Meine list_item.xml (Kann natürlich nach belieben geändert werden - je nach dem "was" in den einzelnen "Zellen" zu sehen sein soll)
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/label"
        android:background="#ff0000"
        android:textSize="25px"
        />
    
    Und meine Activity:
    Code:
    package net.iceclaw.lv;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.widget.AdapterView.OnItemClickListener;
    
    public class ListViewActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
              final String[] names = new String[] { "Bundesliga", "Landesliga", "Idiotenliga", "Foo", "Bar", "Landesliga", "Idiotenliga", "Foo", "Landesliga", "Idiotenliga", "Foo","Landesliga", "Idiotenliga", "Foo","Landesliga", "Idiotenliga", "Foo","Landesliga", "Idiotenliga", "Foo","Landesliga", "Idiotenliga", "Foo","Landesliga", "Idiotenliga", "Foo", };
            
            ListView lv = (ListView) findViewById(R.id.listView);
            
            lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, names));
            
            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                      // When clicked, show a toast with the TextView text
                    Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
                    String a = ((TextView) view).getText().toString();
                    if(a == "Foo")
                        Toast.makeText(getApplicationContext(), "Foobar! xD",
                                Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
    
    MfG Ice

    €dit: Hier natürlich das ergebniss xD: http://img.ubuntu-pics.de/img/6d33680621
     
    Zuletzt bearbeitet: 08.10.2011

Diese Seite empfehlen