2016-05-24 9 views
2

Verzeihen Sie mir für irgendwelche Fehler. Ich bin ein Anfänger. Kann mir bitte jemand erklären, wie man eine Listenansicht in einem Cardview-Layout in Android erstellt. Beispiel Einstellungen App in Android 6.0
enter image description here Ich möchte ein scrollbares cardview Layout mit Listview Elemente in jedem cardview Layout erstellen. Ich habe genug online gesucht und nichts scheint mir zu helfen. Wenn Sie irgendeine Lösung haben, wäre es hilfreich für mich.Wie fügt man listView in cardView android hinzu?

+0

Dies kann mit Scrollview erfolgen und im Inneren legen Sie Ihre Komponenten nach Ihren Anforderungen. – Nisarg

+0

gehen Sie über diesen Link: -http: //javapapers.com/android/android-cards-list-view/ – sushildlh

+0

Was ist das Problem, um ListView in FrameLayout (CardView ist eigentlich FrameLayout) zu verwenden? –

Antwort

7

Der beste Weg, dies zu tun, um ein RecyclerView mit einer vertikalen LinearLayoutManager verwendet (die die den gleichen wie ein ListView aber mit einem besseren Leistung aussehen wird) und eine feste Größe in Ihrem CardView. Die XML für Ihren CardView wird wie folgt aussehen:

<android.support.v7.widget.CardView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerview" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</android.support.v7.widget.CardView> 

und dann programmatisch eingestellt feste Größe auf die RecyclerView auf true, die Layoutmanager eingestellt und einen benutzerdefinierten RecyclerView.Adapter erstellen, um die Zeilen des RecyclerView zu füllen:

RecyclerView recyclerView = parentView.findViewById(R.id.recyclerview); 
recyclerView.setHasFixedSize(true); 

LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false); 
recyclerView.setLayoutManager(layoutManager); 

MyCustomAdapter adapter = new MyCustomAdapter(context, dataSet); 
recyclerView.setAdapter(adapter); 
+0

Vielen Dank. Hat viel geholfen :) –

0

Die cardView ist eine Hintergrundansicht des listView. So wird das Einzelteil von diesem mögen: enter image description here

Hoffnung, Ihnen zu helfen!