安卓Listview和Adapter数据设计

ListView是一种用于垂直显示的列表控件,如果显示内容过多,则会自动出现垂直滚动条,每一行是一个View对象,在每一行上可以放置任何组件,Adapter适配器是数据和UI的桥梁,为数据显示提供了统一的封装。 常用的Adapter有: ArrayAdapter:用来绑定一个数组,支持泛型操作,最为简单,只能展示一行字。 SimpleAdapter:用来绑定在布局xml中定义的控件对应的数据,有好的扩充性,可以自定义出各种效果 BaseAdapter:是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性 ArrayAdapter的使用: 该类的构造方法为:public ArrayAdapter(Context context, int textViewResourceId, List objects)其中参数1为上下文;参数2为布局文件,通常使用系统提供的单文字布局(android.R.layout.simple_list_item_1);参数3为数据,通常为List集合或者数组。 1、简单的一个列表实现: 布局文件: 复制代码 1 5 复制代码 数据添加和适配: 复制代码 1 //新建一个list存放数据 2 List listdata=new ArrayList(); 3 listdata.add("东小东1"); 4 listdata.add("东小东2"); 5 listdata.add("东小东3"); 6 listdata.add("叮叮当当"); 7 listdata.add("咚咚咚嘻嘻嘻"); 8 9 //列表 10 main_list=(ListView)findViewById(R.id.main_list); 11 //android.R.layout.simple_list_item_1不可改成自定义布局文件 12 final ArrayAdapter adp2=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,listdata); 13 main_list.setAdapter(adp2); 复制代码 listview的事件监听: 复制代码 1 //点击事件 2 main_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 3 @Override 4 public void onItemClick(AdapterView parent, View view, int position, long id) { 5 6 Toast.makeText(MainActivity.this,"你点击了:"+position+"项 内容为:"+adp2.getItem(position),Toast.LENGTH_SHORT).show(); 7 8 } 9 }); 10 11 //长按事件 12 main_list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 13 @Override 14 public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { 15 16 Toast.makeText(MainActivity.this,"你长按了:"+position+"项 内容为:"+adp2.getItem(position),Toast.LENGTH_SHORT).show(); 17 18 return true; 19 } 20 }); 复制代码 2、下拉选择栏实现和输入匹配: 布局文件: 复制代码 1 6 7 8 9 10 16 17
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信