Android-----Adapter_数据


看图可以得出Adapter是一个连接数据和AdapterView(ListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。

ArrayAdapter

用来绑定一个数组,支持泛型操作

 private String[] names=new String[]{"zhangsan","lisi","wangwu","zhouliu"};
private ListView listView;
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

listView=(ListView)view.findViewById(R.id.listview);
ArrayAdapter<String> adapter=new ArrayAdapter<>(getActivity(),
android.R.layout.simple_list_item_1
,names);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), names[position], Toast.LENGTH_SHORT).show();
listener.onNameChange(names[position]);
}

ListView使用SimpleAdapter

很多时候需要在列表中展示一些除了文字以外的东西,比如图片等。这时候可以使用SimpleAdapter。SimpleAdapter的使用也非常简单,同时它的功能也非常强大。可以通过它自定义ListView中的item的内容,比如图片、多选框等。看一个例子,实现一个每一行都有一个ImageView和TextView的ListView。