一.RecycleView:
RecycleAdapter适配器
public class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.AppViewHolder> {
private ArrayList<App>apps;
public RecycleAdapter(ArrayList<App> apps) {
this.apps = apps;
}
class AppViewHolder extends RecyclerView.ViewHolder{
private ImageView item_icon;
private TextView item_name;
public AppViewHolder(@NonNull View itemView) {
super(itemView);
item_icon=itemView.findViewById(R.id.item_icon);
item_name=itemView.findViewById(R.id.item_name);
}
}
@NonNull
@Override
public AppViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_item,viewGroup,false);
return new AppViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull AppViewHolder viewHolder, int i) {
App app=apps.get(i);
viewHolder.item_name.setText(app.getName());
viewHolder.item_icon.setImageResource(app.getIcon());
}
@Override
public int getItemCount() {
return apps.size();
}
}
MainActivity
public class MainActivity extends AppCompatActivity {
private ListView lv_apps;
//private List<App> list;
private ArrayList<App>listl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.revcycview_text);
init();
//创建Adapter
//MyAdapter myAdapter=new MyAdapter(list,this);
RecycleAdapter recycleAdapter=new RecycleAdapter(listl);//创建适配器
RecyclerView recyclerView=findViewById(R.id.recyclerView);
recyclerView.setAdapter(recycleAdapter);//设置适配器
recyclerView.setLayoutManager(new LinearLayoutManager(this));//设置布局管理器
//将Adapter绑定到ListView
// lv_apps.setAdapter(myAdapter);
}
private void init(){
lv_apps = (ListView) findViewById(R.id.lv_apps);
//初始化数据
listl = new ArrayList<App>();
listl.add(new App("京东",R.drawable.jd));
listl.add(new App("QQ",R.drawable.qq));
listl.add(new App("QQ斗地主",R.drawable.dz));
listl.add(new App("新浪微博",R.drawable.xl));
listl.add(new App("天猫",R.drawable.tm));
listl.add(new App("UC浏览器",R.drawable.uc));
listl.add(new App("微信",R.drawable.wx));
}
}
二.ListView:
ListView 的适配器
public class MyAdapter extends BaseAdapter {
private List<App> list;
private Context context;
public MyAdapter(List<App> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view=View.inflate(context,R.layout.list_item,null);
TextView item_naem=view.findViewById(R.id.item_name);
ImageView item_icon=view.findViewById(R.id.item_icon);
App app=list.get(position);
item_naem.setText(app.getName());
item_icon.setBackgroundResource(app.getIcon());
return view;
}
}
MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.revcycview_text);
init();
//创建Adapter
MyAdapter myAdapter=new MyAdapter(list,this);
//将Adapter绑定到ListView
lv_apps.setAdapter(myAdapter);
}