美文网首页
使用资源文件自定义列表项

使用资源文件自定义列表项

作者: csp | 来源:发表于2017-03-08 14:00 被阅读6次

使用资源文件自定义列表项就相当于ios中使用xib自定义tableView的cell。
首先是创建xml文件,之后是创建RecyclerView.Adapter,就相当于Cell。xml文件和这个MyAdapter关联,就是一个Cell。
class MyAdapter extends RecyclerView.Adapter {

class ViewHolder extends RecyclerView.ViewHolder {
    private View root;
    private TextView tvTitle,tvContent;

    public ViewHolder(View root) {
        super(root);

        tvTitle = (TextView)root.findViewById(R.id.tvTitle);
        tvContent = (TextView)root.findViewById(R.id.tvContent);
    }

    public TextView getTvTitle() {
        return tvTitle;
    }

    public void setTvTitle(TextView tvTitle) {
        this.tvTitle = tvTitle;
    }

    public TextView getTvContent() {
        return tvContent;
    }

    public void setTvContent(TextView tvContent) {
        this.tvContent = tvContent;
    }

}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_cell,null));
}

@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

    ViewHolder vh = (ViewHolder) holder;
    CellData cd = data[position];
    vh.getTvTitle().setText(cd.title);
    vh.getTvContent().setText(cd.content);
}

@Override
public int getItemCount() {
    return data.length;
}
private CellData[] data = new CellData[]{new CellData("极客学院","IT职业教育"),new CellData("新闻","这个新闻真不错")};

}
这个时候可以创建一个class,相当于ios里面的model。
public class CellData {

public CellData(String title,String content){
    this.title = title;
    this.content = content;
}
public String title = "title";
public String content = "content";

}
其实数据的处理都放在了Adapter里面了,使用的时候就很方便了。
public class MainActivity extends AppCompatActivity {

private RecyclerView rv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    rv = new RecyclerView(this);
    setContentView(rv);

    rv.setLayoutManager(new LinearLayoutManager(this));

    rv.setAdapter(new MyAdapter());
}

}
只需要添加RecyclerView以及配置就行。

相关文章

  • 使用资源文件自定义列表项

    使用资源文件自定义列表项就相当于ios中使用xib自定义tableView的cell。首先是创建xml文件,之后是...

  • html列表

    html有三种列表:有序列表、无序列表、自定义列表 有序列表:有序列表是一列项目,列表项目使用数字进行标记。 有序...

  • 前端入坑之HTML列表

    列表有三种类型: 有序列表:列表项使用数字来标记 无序列表:列表项使用粗体圆点(典型的小黑圆圈)进行标记。 自定义...

  • 前端入坑之HTML列表

    列表有三种类型: 有序列表:列表项使用数字来标记 无序列表:列表项使用粗体圆点(典型的小黑圆圈)进行标记。 自定义...

  • kubectl 自定义输出列

    kubectl 获取资源信息时有默认的资源信息列,除此之外kubectl也支持自定义资源信息列. example ...

  • 列表

    1、无序列表: 无序列表始于 标签 每个列表项始于 标签 2、有序列表: 有序列表也是一列项目,列表项目使用数字...

  • 有序列表与无序列表

    1.有序列表: 有序列表同样,有序列表也是一列项目,列表项目使用数字进行标记。有序列表始于标签 。每个列表项始于 ...

  • Koa2 使用 koa-static 增加文件资源权限的验证

    在使用 koa-static 中间件时,发现前台直接GET请求文件资源无法自定义headers(Element P...

  • 在Android中使用RecyclerView - Part1

    概述 RecyclerView可以高效地显示大量数据,并且可以自定义每个列表项的外观。接下来,我们会使用Recyc...

  • Android 指南针

    MainActivity DefinedRotateAnimation(自定义旋转动画) XML文件 图片资源

网友评论

      本文标题:使用资源文件自定义列表项

      本文链接:https://www.haomeiwen.com/subject/hdybgttx.html