美文网首页
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