RecyclerView(一)


public class LinearRecyclerViewActivity extends AppCompatActivity {

RecyclerView mRvMain;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_linear_recycler_view);
mRvMain= findViewById(R.id.rv_main);
LinearLayoutManager manager = new LinearLayoutManager(this);  //LinearRecyclerViewActivity.this
mRvMain.setLayoutManager(manager);
mRvMain.setAdapter(new LinearAdapter());
}
}
二 Adapter


public class LinearAdapter extends RecyclerView.Adapter <LinearAdapter.LinearViewHolder>{//1、這裏是後面本身定義的holder
    @NonNull
    @Override
    //1、由於返回值是RecyclerView.ViewHolder(由於LinearViewHolder是ViewHolder的子類,因此直接使用linearviewholder)咱們就要new一個ViewHolder做爲返回值,由於沒有類全部就新建一個LinearViewHolder(下面第三步),並建立對象
    public LinearAdapter.LinearViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_linear_item,parent,false);
            return new LinearViewHolder(view); //2、LinearViewHolder類構造函數須要一個view對象 就必須傳入View對象,而且因此使用打氣筒將顯示item,inflate將XML文件轉換成View對象,賦值給新建對象
    }

    @Override
    public void onBindViewHolder(LinearAdapter.LinearViewHolder holder, int position) {
        holder.mtv.setText("你好"+position );
    }

    @Override
    public int getItemCount() {
        return 20;
    }


////////本身定義的Holder///////////
//3、
class LinearViewHolder extends RecyclerView.ViewHolder { private TextView mtv; public LinearViewHolder(@NonNull View itemView) { //itemView 的值是 開頭onCreateViewHolder傳出的值 super(itemView); mtv=itemView.findViewById(R.id.tv_tile); } } }

 

LinearRecyclerViewActivity.this
相關文章
相關標籤/搜索