ListView

StefMa

StefMa

Dauergast
450
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
 
dass ein Listview evt. viel schicker aussehen könne
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!
 
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.
 
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:

Ähnliche Themen

A
Antworten
10
Aufrufe
1.005
swa00
swa00
D
Antworten
9
Aufrufe
1.730
jogimuc
J
J
  • JoEntwickler
Antworten
0
Aufrufe
962
JoEntwickler
J
Zurück
Oben Unten