SimpleAdapter simpleAdapter = new SimpleAdapter(this, data, R.layout.listitem, new String[] { "image", "title", "kind", "info", "price" }, new int[] { R.id.item_image, R.id.title, R.id.kind, R.id.info, R.id.price }); simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() { @Override public boolean setViewValue(View view, Object data, String textRepresentation) { if(view instanceof ImageView && data instanceof Bitmap){ ImageView iv = (ImageView)view; iv.setImageBitmap( (Bitmap)data ); return true; }else{ return false; } } }); listView.setAdapter(simpleAdapter); }
时间: 2023-06-18 20:08:53 浏览: 47
这段代码是一个使用 SimpleAdapter 的 ListView 的初始化和设置过程。其中,SimpleAdapter 是一个适配器,用于将数据与布局进行绑定。data 是数据源,R.layout.listitem 是布局文件,new String[] { "image", "title", "kind", "info", "price" } 是数据源中的字段名,new int[] { R.id.item_image, R.id.title, R.id.kind, R.id.info, R.id.price } 是对应的布局文件中的控件 id。
接下来,通过 setViewBinder 方法,设置一个 ViewBinder 对象,用于将数据绑定到 ImageView 控件上。在 setViewValue 方法中,判断当前 View 是否是 ImageView,并且数据是否是 Bitmap 类型,如果是,则将 Bitmap 数据设置到 ImageView 上,返回 true,表示已经完成绑定;否则返回 false,表示不进行绑定操作。
最后,将适配器设置到 ListView 中,完成布局与数据的绑定。
相关问题
SimpleAdapter simpleAdapter=new SimpleAdapter(xylyb.this,list,R.layout.list_item,new String[]{"idea"},new int[]{R.id.textView32})
这段代码是使用 SimpleAdapter 类来将数据绑定到 ListView 上。
`xylyb.this` 是当前 Activity 的上下文对象。
`list` 是一个 List<Map<String, Object>> 对象,其中每个 Map 对象表示 ListView 中的一行数据,String 类型的 key 表示数据项的属性名,Object 类型的 value 表示数据项的属性值。
`R.layout.list_item` 是 ListView 的每个 item 所使用的布局文件。
`new String[]{"idea"}` 表示要绑定到 ListView 上的数据项的属性名数组。
`new int[]{R.id.textView32}` 表示要绑定到 ListView 上的数据项所对应的 View 的 id 数组,这里只有一个 TextView 对象,其 id 是 R.id.textView32。
//创建一个SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this,listItems,R.layout.simple_item1, new String[]{"personName","header","desc"}, new int[] {R.id.name,R.id.header,R.id.desc}); ListView list = (ListView) findViewById(R.id.mylist); //为ListView设置Adapter list.setAdapter(simpleAdapter);
这段代码创建了一个SimpleAdapter对象,并将其设置为ListView的适配器,以展示数据源listItems中的数据。
SimpleAdapter是Android中常用的适配器之一,它可以将数据源中的数据适配到指定的布局文件中,以供ListView或GridView等控件进行展示。在这段代码中,通过SimpleAdapter的构造函数来创建一个SimpleAdapter对象,其中需要传入当前Activity对象this、数据源listItems、子项布局文件R.layout.simple_item1、数据源中的键new String[]{"personName","header","desc"}和子项布局中的控件id数组new int[] {R.id.name,R.id.header,R.id.desc}。
接下来,通过findViewById方法获取到ListView对象,并将SimpleAdapter对象设置为ListView的适配器,以展示数据源中的数据。
需要注意的是,为了保证ListView的流畅性和性能,应尽量避免在适配器的getView方法中进行耗时的操作,例如网络请求、图片加载等。可以使用缓存技术、异步加载等方式来提高ListView的性能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)