RecyclerView的简单实现

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button delete;
private Button insert;
private RecyclerView rlv;
private Myadapter mMyadapter;
int pager = 90;
private List mList;
private Button lists;
private Button grids;
private Button flows;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
mMyadapter.Datasss(new Myadapter.Dianji() {
@Override
public void clickadds(View view, String datas) {
Toast.makeText(MainActivity.this,datas,Toast.LENGTH_SHORT).show();
}
});
}
private void initData() {
for (int i = 0; i <= 20; i++) {
mList.add(“条目” + i);
}
}
private void initView() {
delete = (Button) findViewById(R.id.delete);
insert = (Button) findViewById(R.id.insert);
rlv = (RecyclerView) findViewById(R.id.rlv);
mList = new ArrayList<>();
mMyadapter = new Myadapter(this, mList);
rlv.setAdapter(mMyadapter);
rlv.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, false));
rlv.addItemDecoration(new DividerListItemDecoration(this,DividerListItemDecoration.VERTICAL_LIST));
delete.setOnClickListener(this);
insert.setOnClickListener(this);
lists = (Button) findViewById(R.id.lists);
lists.setOnClickListener(this);
grids = (Button) findViewById(R.id.grids);
grids.setOnClickListener(this);
flows = (Button) findViewById(R.id.flows);
flows.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.delete:
mMyadapter.deletedata();
break;
case R.id.insert:
mMyadapter.adddata(pager);
break;
case R.id.lists:
rlv.setLayoutManager(new LinearLayoutManager(this,LinearLayout.VERTICAL,false));
break;
case R.id.grids:
rlv.setLayoutManager(new GridLayoutManager(this,2,GridLayoutManager.VERTICAL,false));
break;
case R.id.flows:
rlv.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL));
break;
}
}
}

**class Myadapter extends RecyclerView.Adapter<Myadapter.MyViewHolder>{
private Context context;
private List mList;
private String shu="";
public Myadapter(Context context, List list) {
this.context = context;
mList = list;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.shuju, null);
MyViewHolder myViewHolder = new MyViewHolder(view);
return myViewHolder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
shu=mList.get(position);
holder.title.setText(mList.get(position));
holder.title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDianji.clickadds(v,mList.get(position));
}
});
}
@Override
public int getItemCount() {
return mList.size();
}
public void deletedata() {
mList.remove(1);
notifyDataSetChanged();
}
public void adddata(int pager) {
mList.add(“增加的”+pager);
notifyDataSetChanged();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
TextView title;
public MyViewHolder(View itemView) {
super(itemView);
title = itemView.findViewById(R.id.tit);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context,""+title.getText().toString(),Toast.LENGTH_SHORT).show();
}
});

    }
}
public interface Dianji{
    void clickadds(View view,String datas);
}
private Dianji mDianji;
public  void  Datasss(Dianji dianji){
    mDianji=dianji;
}

}**

<android.support.v7.widget.RecyclerView
android:id="@+id/rlv"
android:layout_width=“match_parent”
android:layout_weight=“9”
android:layout_height=“0dp”></android.support.v7.widget.RecyclerView>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值