执行过程:
…
public class LinearRecyclerViewActivity extends AppCompatActivity {
private RecyclerView mRvMain;
private List<Fruit> fruitList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_linear_recycler_view);
mRvMain = findViewById(R.id.rv_main);
LinearLayoutManager layoutManger = new LinearLayoutManager(this);
mRvMain.setLayoutManager(layoutManger);
LinearAdapter adapter = new LinearAdapter(fruitList);
mRvMain.setAdapter(adapter);
}
}
适配器:
…
public class LinearAdapter_1 extends RecyclerView.Adapter<LinearAdapter_1.LinearViewHolder> {
private Context mContext;
//传入的上下文
public LinearAdapter_1(Context context){
this.mContext = context;
}
@Override
public LinearAdapter_1.LinearViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
return new LinearViewHolder(LayoutInflater.from(mContext).inflate(R.layout.layout_linear_item,viewGroup,false));//导入布局
}
@Override
public void onBindViewHolder(LinearAdapter_1.LinearViewHolder viewHolder, int i) {
viewHolder.textView.setText("点击");
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext,"你点击了我"+i,Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return 5;
}
//定义内部类用来缓存实例
class LinearViewHolder extends RecyclerView.ViewHolder{
private TextView textView;
public LinearViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.tv_title);
}
}
}
…