2016-10-14 3 views
0

Я не знаю, правильно ли написано, но я надеюсь, что вы можете получить мой вопрос с помощью некоторых фотографий. Таким образом, у меня есть проект, на котором будет отображаться фрагмент, содержащий информацию о книге, такую ​​как «Название, Автор, Издатель и т. Д.», В то же время я хочу отображать комментарии к книге, которую я имею в виду, когда она загружается. Он также загружает recyclerview, содержащий комментарии о книгах, например, в магазине google play, где вы можете увидеть комментарии разных пользователей. Как я могу это достичь? Я знаю, как создать recyclerview. вот изображение для большей ясности. this is the imageдобавление RecyclerView во фрагмент

ответ

1

Для RecyclerView вам нужно добавить

компиляции 'com.android.support:recyclerview-v7:24.2.1'

в ваших зависимостях. Внутренний уровень сборки build.gradle. После добавления файла компиляции выполните синхронизацию проекта. Затем в вашем макете добавьте recyclerView. Как это

<android.support.v7.widget.RecyclerView 
      android:id="@+id/recycler_funds" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      tools:listitem="@layout/layout_funds_item" /> 

здесь атрибут «ListItem» покажет, как ваш recyclerview будет видно, когда детали будут завышены.

Теперь в вашей деятельности или фрагменте инициализируйте recyclerview.

private RecyclerView mRecyclerView; 
    mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_funds); 

После этого вам необходимо установить layoutManger для вашего recyclerview. LayoutManager отвечает за измерение и позиционирование представлений элементов в RecyclerView, а также за определение политики для того, когда следует перерабатывать представления элементов, которые больше не видны пользователю. Изменяя LayoutManager, RecyclerView может использоваться для реализации стандартного списка прокрутки по вертикали, равномерной сетки, шахматных сеток, коллекций с горизонтальной прокруткой и т. Д. Несколько менеджеров компоновки макетов предоставляются для общего использования.

mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 

После этого установите адаптер в режим рециркуляции.

mRecyclerView.setAdapter(new FundsAdapter(mContext)); 

Вот пример кода, как выглядит этот FundsAdapter.

public class FundsAdapter extends RecyclerView.Adapter<FundsAdapter.ItemHolder> { 
    private Context mContext; 

    public FundsAdapter(Context context) { 
     mContext = context; 
    } 

    @Override 
    public ItemHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.layout_funds_item, parent, false); 
     return new FundsAdapter.ItemHolder(view); 
    } 

    @Override 
    public void onBindViewHolder(ItemHolder holder, int position) { 
    } 

    @Override 
    public int getItemCount() { 
     return 10; 
    } 

    public class ItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 
     private TextView vh_Title; 
     private TextView vh_FundName; 

     public ItemHolder(View itemView) { 
      super(itemView); 
      vh_Title = (TextView) itemView.findViewById(R.id.txt_fund_bank); 
      vh_FundName = (TextView) itemView.findViewById(R.id.txt_fund_name); 
      itemView.setOnClickListener(this); 
     } 

     @Override 
     public void onClick(View view) { 
      mContext.startActivity(new Intent(mContext, FundsDetailActivity.class)); 
     } 
    } 
} 

Надеюсь, у вас есть решение. :)

Смежные вопросы