1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Gingerbread, 24.03.2011 #1
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

  2. muck, 24.03.2011 #2
    muck

    muck Android-Hilfe.de Mitglied

    Das fehlt wohl in der Beschreibung.

    In der xml-Datei der Activity muß min.
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        <ListView
         android:id="@+id/android:list"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         />
    </LinearLayout>
    
    enthalten sein.

    fahrzeuge.xml ist nicht die xml-Datei der Activity sprich die xml.Datei die in
    onCreate setContentView(R.layout.xxx) übergeben wird.

    Man kann das dann noch so gestallten dass für den Fall einer DB-Abfrage ohne Ergebnis keine leere Liste sondern ein alternatives Layout angezeigt wird.
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <ListView
     android:id="@+id/android:list"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     />
     <LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
         android:id="@+id/noteEmptyProductList"
         android:orientation="vertical"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:visibility="gone"
         >
      <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:paddingTop="25px"
       android:paddingLeft="20px"
       android:text="Die Liste ist leer !!!"
       />
     </LinearLayout>
    </LinearLayout>
    
    Aufruf im Code:
    Code:
    ListView listView = (ListView) findViewById(android.R.id.list);
    listView.setEmptyView(findViewById(R.id.noteEmptyProductList));
    
    EDIT: Wenn ich mir das Beispiel nochmal anschaue würde ich sagen der hat sich was zusammengeschustert was zufällig funktioniert hat. Das ist sehr schlecht was da steht.
     
    Zuletzt bearbeitet: 24.03.2011
  3. Gingerbread, 24.03.2011 #3
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

    Ok,
    hat vll irgendwer eine annehmbare Anleitung zum erstellen einer ListView mit mehreren Elementen/Views?
     
  4. garak, 25.03.2011 #4
    garak

    garak Ehrenmitglied

    Schau dir mal in den Api-Demos Liste 6 an, da wird mit Titeln gearbeitet ansonsten wäre eine expandierende Liste auch eine Möglichkeit, da wären die Titel dann die Gruppen die man auch auf- und zu-klappen könnte.
     
  5. muck, 25.03.2011 #5
    muck

    muck Android-Hilfe.de Mitglied

    Was hast Du denn vor, und wo kommen die Daten her?
     
  6. Gingerbread, 25.03.2011 #6
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

    Die Daten werden aus einer Datenbank abgerufen und sollen formatiert dargestellt werden.
    Außerdem soll noch eine Ceckbox in die ListView eingebaut werden.
     
  7. muck, 25.03.2011 #7
    muck

    muck Android-Hilfe.de Mitglied

    Damit wird CheckedTextView zu Deinem Zauberwort. (Android bringt da von Haus aus Layouts mit, da kann man gut abschauen. In Eclipse sind die nicht zu öffnen aber aus dem Dateisystem heraus kann man sich das anschauen.)

    Ich versuch mal was auf die Schnelle (ohne Textformatierung und einzeilig)
    checked_text_view.xml
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <CheckedTextView xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
        android:id="@+id/txtZeile1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:gravity="center_vertical"
        android:checkMark="?android:attr/textCheckMark"
        android:paddingLeft="6dip"
        android:paddingRight="6dip"
    />
    
    LayoutfileDerActivity.xml (android:choiceMode="multipleChoice" erlaubt mehrere angehakte Items)
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="[URL]http://schemas.android.com/apk/res/android[/URL]"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        <ListView
         android:id="@+id/android:list"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:choiceMode="multipleChoice"
         />
    </LinearLayout>
    
    Activity.java muss von ListActivity erben!!!
    Code:
    Cursor list = dbConn.rawQuery("SELECT _id, name FROM tablexy WHERE _id = 5", null);
    SimpleCursorAdapter listAdapter; = new SimpleCursorAdapter (this, R.layout.checked_text_view.xml, list, new String[] {"name"}, new int[] {R.id.txtZeile1});
    setListAdapter(listAdapter);
    startManagingCursor(list);
    
    Das müsste Dir eine Liste erstellen. Du müsstest das um eine zweite Textzeile und die Formatierung erweitern. Des weiteren würde ich Dir dann empfehlen einen performanteren Adapter zu schreiben. (Schlagwort: ViewHolderPattern)
    Mal als Anhaltspunkt:
    Code:
    public class ProductListAdapter extends SimpleCursorAdapter {
     private int sumIndex = -1;
     
     class ViewHolder {
      private TextView tvSum;
     }
     
     public ProductListAdapter(Context context, int layout, Cursor list, String[] sum, int[] productIds) {
      super(context, layout, productList, sum, productIds);
     
      sumIndex = list.getColumnIndex("name");
     }
     
     @Override
     public View newView(Context context, Cursor cursor, ViewGroup parent) {
      final View view = super.newView(context, cursor, parent);
      final ViewHolder viewHolder = new ViewHolder();
     
      viewHolder.tvSum = (TextView) view.findViewById(R.id.txtZeile1);
     
      view.setTag(viewHolder);
      return view;
     }
     
     @Override
     public void bindView(View view, Context context, Cursor cursor) {
      final ViewHolder viewHolder = (ViewHolder) view.getTag();
     
      viewHolder.tvSum.setText(cursor.getString(sumIndex));
     }
    }
    
     
  8. Gingerbread, 26.03.2011 #8
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

  9. Gingerbread, 26.03.2011 #9
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

    Habe es jetzt nicht mittels CheckedTextView gelöst, sondern mit einer einfachen Checkbox rechts neben dem Text.
    Jedoch zeigt die onListItemClick() Methode dann keine Auswirkungen mehr. Das heißt, wenn ich ein Item der ListView anklicke, passiert nichts.

    Edit: Habe es jetzt doch mittels CheckedTextView gemacht, jedoch passiert nichts wenn ich auf einen Button klicke. Hab also das gleiche Problem wie hier: https://www.android-hilfe.de/forum/android-app-entwicklung.9/multiple-choice-list.64.html#post-92509
    Aber ich habe ja schon android:choiceMode="multipleChoice" deklariert
     
    Zuletzt bearbeitet: 26.03.2011
  10. muck, 26.03.2011 #10
    muck

    muck Android-Hilfe.de Mitglied

    Welcher Button? Poste mal den Code.

    Gesendet von meinem HTC Desire mit der Android-Hilfe.de-App
     
  11. Gingerbread, 26.03.2011 #11
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

    Also meine ListView sieht so ähnlich aus wie dir hier:
    [​IMG]

    Nur das ich halt mehrere TextViews mit Inhalt fülle. Wenn ich jetzt auf die CheckedTextBox klicke passiert nichts. Es taucht kein grüner Pfeil drin auf.
     
  12. Gingerbread, 12.04.2011 #12
    Gingerbread

    Gingerbread Threadstarter Android-Hilfe.de Mitglied

    Weiß keiner woran es liegt, dass es funktioniert wenn meine ListView nur eine TextView pro row enthält?
    Wenn ich dann mehrere formatierte TextViews einfüge, dann hat das klicken einfach keine Auswirkung.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Activity als Dialog - RecyclerView funktioniert nicht mehr Android App Entwicklung 14.08.2017
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[OFFEN] SVN Commit in Android Studio funktioniert nicht mehr Android App Entwicklung 07.08.2017
[ERLEDIGT] Mehrere Verzeichnisse abfragen Android App Entwicklung 02.07.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Drawer mit scrollbarem Listview Android App Entwicklung 27.03.2017
[OFFEN] Wie kann ich mehrere Marker in eine MapView laden Android App Entwicklung 25.03.2017
ListView fix am unteren Bildschirmrand ausgeben Android App Entwicklung 01.03.2017
Auswahl mehrerer RadioButton in einem TextView ausgeben Android App Entwicklung 23.02.2017

Users found this page by searching for:

  1. Listen in meheren Spalten ausgeben android

    ,
  2. android listview mehrere

Du betrachtest das Thema "Mehrere TextViews in ListView" im Forum "Android App Entwicklung",