当前位置:  开发笔记 > Android > 正文

Android - 建立卡片列表

如何解决《Android-建立卡片列表》经验,为你挑选了1个好方法。

我希望我的应用程序有一个用户可以滚动的卡片列表,单击操作等.具体来说,我想android.design.CardView在支持库中使用该类.

据我所知,有关SO的问题,但它并没有解决我的问题.关于这个问题的解决方案我要么说要使用列表并在每个项目中添加类似卡片的背景,请简要提及CardView(即仅提及它们的存在)或依赖第三方库.

我想知道是否有可能只使用核心android API和支持库来自动垂直滚动卡片列表RecyclerView.(但是删除任何使它看起来像列表的分隔符或其他东西都在卡片后面)这可能吗?



1> Kostas Drak..:

基于你希望有一个列表CardView...你可以在你的row_layout.xml中定义这样的代码:


    

        

            

            

            

            

        

    

然后你的布局包含RecyclerView:




    
        
    

    

    
    

在您的适配器CardView中可以定义为根元素:

public class Adapter extends RecyclerView.Adapter{

    List stocks;

    public Adapter(List stocks){
        this.stocks = stocks;
    }

    @Override
    public StockViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_layout, parent, false);
        StockViewHolder pvh = new StockViewHolder(v);
        return pvh;
    }

    @Override
    public void onBindViewHolder(StockViewHolder holder, int position) {
        holder.stockName.setText(stocks.get(position).getName());
        holder.stockPrice.setText(stocks.get(position).getPrice());
        Ion.with(holder.stockPhoto).error(R.mipmap.ic_launcher).load(stocks.get(position).getPhotoId());
    }

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

    @Override
    public void onAttachedToRecyclerView(RecyclerView recyclerView) {
        super.onAttachedToRecyclerView(recyclerView);
    }

    public static class StockViewHolder extends RecyclerView.ViewHolder {
        CardView cv;
        TextView stockName;
        TextView stockPrice;
        ImageView stockPhoto;

        StockViewHolder(View itemView) {
            super(itemView);
            cv = (CardView)itemView.findViewById(R.id.cv);
            stockName = (TextView)itemView.findViewById(R.id.person_name);
            stockPrice = (TextView)itemView.findViewById(R.id.person_age);
            stockPhoto = (ImageView)itemView.findViewById(R.id.person_photo);
        }
    }

}

这会给你这个结果:

在此输入图像描述

这是CardViews 的实际列表.

希望能帮助到你!

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有