2016-07-29 17 views
0

Ich bin nur ein Android Anfänger & versucht RecyclerView mit ViewHolder Muster beiRecyclerView mit ViewHolder Muster

mit der Probe zu arbeiten: https://guides.codepath.com/android/using-the-recyclerview#create-the-recyclerview-within-layout

Während Umsetzung des Kodex:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

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

</RelativeLayout> 

es ist gebeten, in res/layout/activity_users.xml zu implementieren

Ich habe das Projekt mit Basic A erstellt ctivity & hat die Dateien

activity_main.xml & content_main.xml

Ist activity_users.xml eine andere benutzerdefinierte Datei? oder eine Standarddatei? Können Sie mir sagen, wo es den obigen Code implementieren soll?

+0

Oberhalb des Layouts ist das Layout Ihrer Aktivität zu sehen, legen Sie einfach eine Recycleransicht in Ihr Aktivitätslayout. sonst verwende dieses Layout als Aktivitätslayout –

+0

setze diesen Code in die Hauptaktivität xml – KrishnaJ

+0

Du meinst activity_main.xml? –

Antwort

1

Sobald Sie Ihren RecyclerView definiert haben, müssen Sie das Layout der einzelnen Zeilen definieren. Dann referenzieren Sie es in Ihrem Adapter. Etwas wie es:

public class ContactAdapter extends 
     RecyclerView.Adapter<ContactAdapter.ContactViewHolder> { 

    private List<ContactInfo> contactList; // your item list 

    public ContactAdapter(List<ContactInfo> contactList) { 
     this.contactList = contactList; 
    } 

    @Override 
    public int getItemCount() { 
     return contactList.size(); 
    } 

    @Override 
    public void onBindViewHolder(ContactViewHolder contactViewHolder, int i) { 
     // binding 
    } 

    @Override 
    public ContactViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { 
     View itemView = LayoutInflater.from(viewGroup.getContext()). 
     inflate(**your_row_layout**, viewGroup, false); 
     return new ContactViewHolder(itemView); 
    } 

     public static class ContactViewHolder extends RecyclerView.ViewHolder { 
     ... 
    } 
    } 

Ich hoffe, es hilft Ihnen.

0

Sie können die Recycler-Ansicht im Layout content_main hinzufügen. Oder, wenn Sie nicht komplizieren möchten, entfernen Sie den Verweis für content_main in Ihrem activity_main und fügen Sie die Recycler-Ansicht in activity_main selbst hinzu. Verwenden Sie activity_main in Ihrer BaseActivity.

Verwandte Themen