动态添加数据适配器adapter
Adapter是适配器,许多UI组件需要搭配Adapter来显示界面,例如Spinner与ListView,另外当我们需要动态的添加数据给UI组件时就需要Adapter了。
我们来介绍几个常见的Adapter:
ArrayAdapter
SimpleAdapter extends Baseadapter(comman)
******************************************************************************
这两个适配器非常常见,也非常有用,通常传输的数据可以是ArrayList<>封装的数据。
示例如下:ArrayAdapter
[java]
private String[] string={"china","america","japan"};
List list=new ArrayList
for(int i=0;i
list.add(string[i]);
}
ArrayAdapter
private String[] string={"china","america","japan"};
List list=new ArrayList
for(int i=0;i
list.add(string[i]);
}
ArrayAdapter
ArrayAdapter有三个参数,第一个参数为Activity.this,第三个参数为动态添加给adapter的数据
对于第二个数据:
R.layout.simple_spinner_item:意思是将数据传给一个简单地TextView组件
示例:SimpleAdapter
[java]
public class SimpleAdapter extends Activity{
private String[] names =new String[]{"nick","lebron","kobe","kevin"};
private int[] imgsIds[] =new Int[] {R.drawable.1,R.drawable.2,R.drawable.3,R.drawable.4};
@Override
public void onCreate(Bundle savedInsatnceState)
{
super.onCreate(savedInsatnceState);
setTitle("simpleadapter");
setContentView(R.layout.main);
List
public class SimpleAdapter extends Activity{
private String[] names =new String[]{"nick","lebron","kobe","kevin"};
private int[] imgsIds[] =new Int[] {R.drawable.1,R.drawable.2,R.drawable.3,R.drawable.4};
@Override
public void onCreate(Bundle savedInsatnceState)
{
super.onCreate(savedInsatnceState);
setTitle("simpleadapter");
setContentView(R.layout.main);
List
for(int i=0;i
map.put("name",names[i]);
map.put("headerImg",imgsIds[i]);
list.add(map);
}
SimpleAdapter adapter=new SimpleAdaper(this,list,R.layout.main,new String[]{"name","headerImg"},new int[]{R.id.name,R.id.headerImg});
ListView list=(ListView)findViewById(R.id.mylist);
list.setAdaper(adapter);
}
}
接下来我们介绍另一个常用的Adapter:BaseAdapter
BaseAdapter implements SpinnerAdapter implements ListViewAdapter(可用于ListView和Spinner)
示例:
[java]
public MyListView extensds Activity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInsatnceState);
mDate=getDate();
MyAdapter myadapter=new MyAdapter(this);
ListView list=(ListView)findById(R.id.myList);
setAdapter(myadapter);
}
private List
List
Map
map.put("title", "G1");
map.put("info", "google 1");
map.put("img", R.drawable.i1);
list.add(map);
//添加第二个Map数据
map = new HashMap
map.put("title", "G2");
map.put("info",