我不知道我的头衔是否正确,但我希望你可以借助一些照片来解答我的问题。所以我有一个项目,它会显示一个包含书籍信息的片段,比如我们的标题,作者,出版商等,同时我想显示关于这本书的意见,一旦它加载。它还会加载一个Recyclerview,其中包含有关Google Play商店中的书籍的评论,您可以在其中查看不同用户的评论。我怎样才能做到这一点?我知道如何创建Recyclerview。这是图像更清晰。
答案 0 :(得分:1)
对于RecyclerView,您需要添加
compile' 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" />
此处属性&#34; listitem&#34;将展示如何在物品膨胀时看到您的回收者视图。
现在在您的活动或片段中初始化recyclerview。
private RecyclerView mRecyclerView;
mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_funds);
之后,您需要为recyclerview设置layoutManger。 LayoutManager负责在RecyclerView中测量和定位项目视图,以及确定何时回收用户不再可见的项目视图的策略。通过更改LayoutManager,RecyclerView可用于实现标准垂直滚动列表,统一网格,交错网格,水平滚动集合等。提供了几种库存布局管理器供一般使用。
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
之后将适配器设置为recyclerview。
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));
}
}
}
希望你得到解决方案。 :)