zoukankan      html  css  js  c++  java
  • Android Studio RecyclerView用法

    首先创建一个布局 里面放一个文本

     <TextView
            android:id="@+id/textView"
            android:layout_width="60dp"
            android:layout_height="20dp"
            android:text="TextView"
           />

    在主活动中加入RecyclerView 

     <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

    添加一个空的活动做适配器

    package com.example.myapplication;

    import android.support.annotation.NonNull;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.RecyclerView;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;
    import android.widget.TextView;
    import android.widget.Toast;

    import java.util.List;

    public class Main2Activity extends RecyclerView.Adapter<Main2Activity.ViewHolder> {

    private List<String> list;

    static class ViewHolder extends RecyclerView.ViewHolder
    {
    TextView name;
    View Vie;
    public ViewHolder(View v)
    {
    super(v);
    Vie=v;
    name=v.findViewById(R.id.textView);
    }

    }

    public Main2Activity(List<String> lists)
    {
    list=lists;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View view=LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.file,viewGroup,false) ;//加载要自定义的布局
    final ViewHolder holder=new ViewHolder(view);
    holder.Vie.setOnClickListener(new View.OnClickListener(){//注册单击事件
    @Override
    public void onClick(View v) {

    String string= list.get( holder.getAdapterPosition());

    Toast.makeText(v.getContext(), string, Toast.LENGTH_SHORT).show();
    }
    });
    return holder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
    String f=list.get(i);//获取当前数值
    viewHolder.name.setText(f);//赋值

    }

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

    }

    初始化列表数据

     private  List<String> lit=new ArrayList<>();
        private  void  inte()
        {
            lit.add("3");
            lit.add("2");
            lit.add("3");
        }
           inte();
           RecyclerView recyclerView=findViewById(R.id.recyclerView);//获取控件值
            LinearLayoutManager layoutManager=new LinearLayoutManager(this);//线性布局
             recyclerView.setLayoutManager(layoutManager);
           Main2Activity ad=new Main2Activity(lit);
            recyclerView.setAdapter(ad);
  • 相关阅读:
    多级部署下的SuperMap iServer 2.0 JS 聚合功能(一)
    Kubernetes&Docker集群部署
    股票数据存储系统(KeyValue存储)设计与实现
    Ajax+Tornado模拟长、短轮询
    REST架构网站改写:前端MVC Angular.js,Web框架 Express.js, 数据库 MongoDB
    SQLite数据库C++ API封装
    一致性哈希(Consistent Hashing)算法的C++实现
    数据结构——排序
    数据结构——折半查找
    索引学习笔记
  • 原文地址:https://www.cnblogs.com/feizianquan/p/10229582.html
Copyright © 2011-2022 走看看