实现效果图:

Android中的ListView实现图片文字和按钮_第1张图片



布局文件:

vlist2.xml
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageViewandroid:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5px"/> <LinearLayoutandroid:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextViewandroid:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFFFF" android:textSize="22px"/> <TextViewandroid:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFFFF" android:textSize="13px"/> </LinearLayout> <Buttonandroid:id="@+id/view_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/s_view_btn" android:layout_gravity="bottom|right"/> </LinearLayout>

程序代码:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 /** * @author allin * */ publicclassMyListView4 extendsListActivity { privateList<Map<String, Object>> mData; @Override publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mData = getData(); MyAdapter adapter = newMyAdapter(this); setListAdapter(adapter); } privateList<Map<String, Object>> getData() { List<Map<String, Object>> list = newArrayList<Map<String, Object>>(); Map<String, Object> map = newHashMap<String, Object>(); map.put("title", "G1"); map.put("info", "google 1"); map.put("img", R.drawable.i1); list.add(map); map = newHashMap<String, Object>(); map.put("title", "G2"); map.put("info", "google 2"); map.put("img", R.drawable.i2); list.add(map); map = newHashMap<String, Object>(); map.put("title", "G3"); map.put("info", "google 3"); map.put("img", R.drawable.i3); list.add(map); returnlist; } // ListView 中某项被选中后的逻辑 @Override protectedvoidonListItemClick(ListView l, View v, intposition, longid) { Log.v("MyListView4-click", (String)mData.get(position).get("title")); } /** * listview中点击按键弹出对话框 */ publicvoidshowInfo(){ newAlertDialog.Builder(this) .setTitle("我的listview") .setMessage("介绍...") .setPositiveButton("确定", newDialogInterface.OnClickListener() { @Override publicvoidonClick(DialogInterface dialog, intwhich) { } }) .show(); } publicfinalclassViewHolder{ publicImageView img; publicTextView title; publicTextView info; publicButton viewBtn; } publicclassMyAdapter extendsBaseAdapter{ privateLayoutInflater mInflater; publicMyAdapter(Context context){ this.mInflater = LayoutInflater.from(context); } @Override publicintgetCount() { // TODO Auto-generated method stub returnmData.size(); } @Override publicObject getItem(intarg0) { // TODO Auto-generated method stub returnnull; } @Override publiclonggetItemId(intarg0) { // TODO Auto-generated method stub return0; } @Override publicView getView(intposition, View convertView, ViewGroup parent) { ViewHolder holder = null; if(convertView == null) { holder=newViewHolder(); convertView = mInflater.inflate(R.layout.vlist2, null); holder.img = (ImageView)convertView.findViewById(R.id.img); holder.title = (TextView)convertView.findViewById(R.id.title); holder.info = (TextView)convertView.findViewById(R.id.info); holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn); convertView.setTag(holder); }else{ holder = (ViewHolder)convertView.getTag(); } holder.img.setBackgroundResource((Integer)mData.get(position).get("img")); holder.title.setText((String)mData.get(position).get("title")); holder.info.setText((String)mData.get(position).get("info")); holder.viewBtn.setOnClickListener(newView.OnClickListener() { @Override publicvoidonClick(View v) { showInfo(); } }); returnconvertView; } } }

更多相关文章

  1. android 在SDCard获取图片
  2. android 从系统相册获取一张图片
  3. android WebView加载URL不显示图片
  4. android 使用randerScript实现图片模糊效果
  5. android 给图片加水印
  6. Android: 利用Bimap,canvas处理图片(画直线)
  7. 【Android】ImageMap,图片地图
  8. Android Stdio实现点击按钮出现图片

随机推荐

  1. Unexpected token '...'. Expected a pro
  2. 欧洲云计算巨头OVH数据中心失火!为什么Web
  3. Unexpected token '...'. Expected a pro
  4. Python——if条件判断和while循环
  5. Hive高级优化 | 面试及调优必读
  6. crond定时任务 引发大量的邮件发送,sendma
  7. 安装SCCM2019独立服务器
  8. 静态路由的这几个小知识点你都清楚吗?
  9. Card payment core features
  10. 探讨微软的混合云