您的位置:首页 > 其它

安卓RecyclerView使用

2019-03-18 09:28 127 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41659081/article/details/88633039

先添加远程依赖

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

MainActivity

public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private RecyclerAdapter adapter;
private List<Person> list;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView=findViewById(R.id.recyclerview);

//设置横向
LinearLayoutManager layoutManager= new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(layoutManager);

getData();
adapter = new RecyclerAdapter(this,list);
recyclerView.setAdapter(adapter);
}

public List<Person> getData(){
list = new ArrayList<Person>();
for(int i=1;i<=15;i++){
Person p = new Person(R.drawable.ic_launcher,i+"","我是第"+i);
list.add(p);
}
return list;
}
}

RecyclerAdapter

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder>{
private List<Person> list;
private Context context;

static class ViewHolder extends RecyclerView.ViewHolder{
ImageView imageView;
TextView title;
TextView content;
View view;

public ViewHolder(View itemView) {
super(itemView);
view=itemView;
imageView=itemView.findViewById(R.id.imag
3ff7
eview);
title=itemView.findViewById(R.id.title1);
content=itemView.findViewById(R.id.content);
}
}

public RecyclerAdapter(Context context,List<Person> list){
this.context=context;
this.list=list;
}

@NonNull
@Override
public RecyclerAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);
View view= LinearLayout.inflate(parent.getContext(),R.layout.item,null);
final ViewHolder holder = new ViewHolder(view);
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = holder.getAdapterPosition();
Person person = list.get(position);
Toast.makeText(v.getContext(),person.mContent,Toast.LENGTH_SHORT).show();
}
});
return holder;
}

@Override
public void onBindViewHolder(@NonNull RecyclerAdapter.ViewHolder holder, int position) {
//控件设置值
Person person = list.get(position);
holder.imageView.setBackgroundResource(person.mPicture);
holder.title.setText(person.mTitle);
holder.content.setText(person.mContent);
}

@Override
public int getItemCount() {
if(list==null){
return 0;
}
return list.size();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: