ArrayAdapter和SimpleAdapter技术总结
编程技术  /  houtizong 发布于 3年前   100
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this.findViewById(R.id.textView); //下拉框对象需要一个数据源,使用list队列添加数据String[] array = { "设置", "wlan", "移动网络", "声音","显示","存储","电池","引用程序" };/*第一个:上下文对象第二个:布局的样式第三个:数据*/ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,array );//设置适配器textview.setAdapter(arrayAdapter);
SimpleAdapter;可以有图片和文字,一时难以理解
// 参数1:上下文
// 参数2:图片和文字数据
// 参数3:用来显示List中一条数据的布局文件
// 参数4:HashMap中K的数组
// 参数5:元素的布局文件中的视图id
SimpleAdapter adapter = new SimpleAdapter(this,list,R.layout.grid_item,from,to);
得到参数二;
// 获得数据源ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();//图片资源static int[] imgs = { R.drawable.a1, R.drawable.a2, R.drawable.a3,R.drawable.a4, R.drawable.a5, R.drawable.a6, R.drawable.a7,R.drawable.a8, R.drawable.a9 }; //遍历图片for(int i=0;i<imgs.length;i++){HashMap<String, Object> map =new HashMap<String, Object>();map.put("k1", imgs[i]);map.put("k2", "程序"+i);list.add(map);}
参数三; 用来显示List中一条数据的布局文件
重新定义一个布局文件,
grid_item.xml
<ImageView android:id="@+id/img" android:layout_width="50dp" android:layout_height="50dp" /> <TextView android:id="@+id/text" android:layout_width="50dp" android:layout_height="wrap_content" android:gravity="center_horizontal" />
参数四:获取HashMap中K的数组 就是k1和k2
String[] from={"k1","k2"};
参数五:获取布局文件的id
int[] to = { R.id.img, R.id.text };
由于布局文件已经在SimpleAdapter创建时创建了对象所以直接R.id.img, R.id.text 就获取到grid_item.xml中的id
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接