美文网首页
RecyclerView基本使用(一)

RecyclerView基本使用(一)

作者: aidlFor | 来源:发表于2018-06-08 13:11 被阅读0次

    首先实现一个普通的ListView展示效果,可以看到的是跟ListView相似度很高。

    第一步,配置build.gradle

    implementation'com.android.support:recyclerview-v7:27.1.1'
    

    第二步,编写Adapter

    public class MainAdapter extends RecyclerView.Adapter<MainAdapter.MyViewHolder> {
    
    private List<String> mList;
    
    private Context mContext;
    
    
    public MainAdapter(List<String> mList, Context mContext) {
        this.mList = mList;
        this.mContext = mContext;
    }
    
    public void  removeData(int position){
        mList.remove(position);
        notifyItemRemoved(position);
    }
    //返回当前的ViewHolder对象
    @NonNull
    @Override
    public MainAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        return new MyViewHolder(LayoutInflater.from(mContext).inflate(R.layout.recycler_item,parent,false));
    }
     //数据与视图绑定
    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        holder.title.setText(mList.get(position));
    }
    
    
    
    @Override
    public int getItemCount() {
        return mList.size();
    }
    
    class MyViewHolder extends RecyclerView.ViewHolder{
    
        TextView title;
    
        public MyViewHolder(View itemView) {
            super(itemView);
    
            title =itemView.findViewById(R.id.item_tv);
    
    
        }
    
    }
    }
    

    第三步,开始使用

    public class MainActivity extends Activity {
    
    private RecyclerViewmRecyclerView;
    
    private MainAdaptermAdapter;
    
    private ListmList;
    
    @Override
    
    protected void onCreate(Bundle savedInstanceState) {
    
    super.onCreate(savedInstanceState);
    
        setContentView(R.layout.activity_main);
    
        mRecyclerView = findViewById(R.id.id_recyclerview);
    
        /**
    
    * 设置布局管理器,如果要设置水平的布局则应该重新设置LayoutManager,默认是垂直
    
     * new LinearLayoutManager(this).setOrientation(LinearLayoutManager.HORIZONTAL)
    
     */
    
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    
        //设置item增加删除时的动画
    
        mRecyclerView.setItemAnimator(new DefaultItemAnimator());
    
        //造一点数据
    
        mList =new ArrayList<>();
    
        for (int i=1;i<7;i++){
    
         mList.add(""+i);
    
        }
    
        mAdapter =new MainAdapter(mList,this);
    
        mRecyclerView.setAdapter(mAdapter);
    
    }
    
    }
    

    XML >> activity_main

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
       >
    
        <android.support.v7.widget.RecyclerView
            android:id="@+id/id_recyclerview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
             />
    
    </LinearLayout>
    

    XML >> recycler_item

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white">
        <TextView
            android:id="@+id/item_tv"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="hello"/>
    </FrameLayout>
    

    效果图


    screenshot_20180608_132452.png

    相关文章

      网友评论

          本文标题:RecyclerView基本使用(一)

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