2016-07-29 76 views
0

我只是一个Android初学者&尝试与ViewHolder模式RecyclerView与ViewHolder模式

与样品在制定RecyclerView:在实施代码https://guides.codepath.com/android/using-the-recyclerview#create-the-recyclerview-within-layout

<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> 

是要求在res/layout/activity_users.xml中实施

我已经使用Basic A创建了项目ctivity &有文件

activity_main.xml中& content_main.xml

是activity_users.xml其他自定义文件?或默认文件? 你能告诉我它应该在哪里实现上面的代码?

+0

以上布局是您的活动布局,只需在您的活动布局中放置回收站即可。否则使用该布局作为活动布局 –

+0

将此代码放入主活动xml – KrishnaJ

+0

您的意思是activity_main.xml? –

回答

1

一旦你定义了你的RecyclerView,你必须定义单行布局。然后,你可以在你的适配器中引用它。喜欢它:

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 { 
     ... 
    } 
    } 

希望它可以帮助你。

0

您可以在content_main布局中添加回收站视图。或者,如果您不想复杂化,请删除activity_main中content_main的引用,并在activity_main本身中添加回收器视图。 在您的BaseActivity中使用activity_main。

相关问题