android之ListView(列表)
来源:互联网 发布:linux运行我的世界效率 编辑:程序博客网 时间:2024/05/27 14:12
android界面中显示列表效果的几种方式:
方式一. 继承ListActivity,使用Listadapter关键代码如下:
private ListAdapter mListAdapter;private List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);listItems=getListItems();mListAdapter = new ListAdapter(this,listItems);setListAdapter(mListAdapter);}private List<Map<String, Object>> getListItems() { Map<String, Object> map = new HashMap<String, Object>(); map.put("mytitle","Oracle" ); map.put("myimage", R.drawable.a); map.put("myimages", R.drawable.rating_5); listItems.add(map); map = new HashMap<String, Object>(); map.put("mytitle","Sqlite" ); map.put("myimage", R.drawable.b); map.put("myimages", R.drawable.rating_5); listItems.add(map); map = new HashMap<String, Object>(); map.put("mytitle","MySql" ); map.put("myimage", R.drawable.c); map.put("myimages", R.drawable.rating_5); listItems.add(map); return listItems;}
ListAdapter代码:
package org.anjoy.act;import java.util.List;import java.util.Map;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class ListAdapter extends BaseAdapter {private Context context;//上下文路径private LayoutInflater inflater;//视图容器private List<Map<String,Object>> listitems;//item信息集合public class holderView //自定义控件集合{private TextView mytitle;private ImageView myimage;private ImageView myimages;}//构造DeviceAdapter方法public ListAdapter(Context context,List<Map<String,Object>> listitems){this.context=context;this.inflater=LayoutInflater.from(context);//创建视图容器this.listitems=listitems;}public int getCount() {// TODO Auto-generated method stubreturn listitems.size();}public Object getItem(int arg0) {// TODO Auto-generated method stubreturn listitems.get(arg0);}public long getItemId(int arg0) {// TODO Auto-generated method stubreturn arg0;}public View getView(int position, View convertView, ViewGroup parent) {// 自定义视图holderView mView =null;if(convertView==null){mView=new holderView();//获取listitem布局文件convertView=inflater.inflate(R.layout.main, null);//获取控件对象mView.mytitle=(TextView)convertView.findViewById(R.id.mytitle);mView.myimage =(ImageView)convertView.findViewById(R.id.myimage);mView.myimages =(ImageView)convertView.findViewById(R.id.myimageview);//设置控件对象到convertview视图集合中convertView.setTag(mView);}else{mView =(holderView)convertView.getTag();}//设置item控件上的值mView.mytitle.setText((String) listitems.get(position).get("mytitle")); mView.myimage.setBackgroundResource((Integer)listitems.get(position).get("myimage")); mView.myimages.setBackgroundResource((Integer)listitems.get(position).get("myimages")); mView.myimage.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(context) .setIcon(R.drawable.alert) .setTitle("温馨提示") .setMessage("请您操作看看!") .setPositiveButton("确定", null) .show();}}); return convertView;}}
效果图:
3.方法二:activity继承Listview,使用SimpleAdapter和布局文件
关键代码:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.main, new String[]{"mytitle","myimageview","myimage"}, new int[]{R.id.mytitle,R.id.myimageview,R.id.myimage}); setListAdapter(adapter); } private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("mytitle", "IOS教材"); map.put("myimageview", R.drawable.rating_5); map.put("myimage", R.drawable.a); list.add(map); map = new HashMap<String, Object>(); map.put("mytitle", "Android教材"); map.put("myimageview",R.drawable.rating_5); map.put("myimage", R.drawable.b); list.add(map); map = new HashMap<String, Object>(); map.put("mytitle", "java教材"); map.put("myimageview", R.drawable.rating_5); map.put("myimage", R.drawable.c); list.add(map); return list; }
效果图如上
2. 方式三:activity中创建ListView对象,使用ListAdapter
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.main, new String[]{"mytitle","myimageview","myimage"}, new int[]{R.id.mytitle,R.id.myimageview,R.id.myimage}); setListAdapter(adapter); } private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("mytitle", "IOS教材"); map.put("myimageview", R.drawable.rating_5); map.put("myimage", R.drawable.a); list.add(map); map = new HashMap<String, Object>(); map.put("mytitle", "Android教材"); map.put("myimageview",R.drawable.rating_5); map.put("myimage", R.drawable.b); list.add(map); map = new HashMap<String, Object>(); map.put("mytitle", "java教材"); map.put("myimageview", R.drawable.rating_5); map.put("myimage", R.drawable.c); list.add(map); return list; }
- android之ListView(列表)
- Android组件之ListView(列表视图)
- 【转】 android之ListView(列表)
- Android 列表之分组ListView
- Android 列表之分组ListView
- android之PopUpWindow显示Listview(文件列表)
- Android---UI篇---ListView之SimpleCursorAdapter(列表)---3
- Android---UI篇---ListView之ArrayAdapter(列表)---2
- Android---UI篇---ListView之SampleAdapter(列表)---1
- Android开发之listView使用(手机应用列表显示)
- Android组件 列表(ListView)
- Android组件 列表(ListView)
- android关于ListView(列表)
- Android组件 列表(ListView)
- Android App列表之圆角ListView
- Android App列表之圆角ListView
- Android --- App列表之分组ListView
- Android列表之圆角ListView
- JS操作JSON总结
- (转)【Android游戏开发十一】手把手让你爱上Android sdk自带9patch 工具,让Android游戏开发更方便!
- MFC对话框与数据交换
- oracle 字符集 AL32UTF8、UTF8
- 程序员的年度计划
- android之ListView(列表)
- 电池里mAh和Wh有什么区别?
- Oracle 表连接方式(内连接/外连接/自连接) 详解
- csdn首页体验
- 三角形类2
- Linux 目录权限小结
- C#4.0 动态绑定(Dynamic Binding)
- 资料网站
- 使用 Eclipse+Axis2 构建 Web Service 应用(客户端无需生成 Stub 方式)