標籤:android的listview圖文混搭
main4.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/listView4_1_1" android:layout_width="match_parent" android:layout_height="wrap_content" ></ListView></LinearLayout>
main4_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" ><ImageView android:id="@+id/imageView4_1_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /><TextView android:id="@+id/textView4_1_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="textView" /></LinearLayout>
MainActivity4
package com.example.listview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.R.anim;import android.R.drawable;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity4 extends Activity{private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main4);listView=(ListView) findViewById(R.id.listView4_1_1);//一個清單項目的內容Map<String, Object> map=new HashMap<String, Object>();map.put("image", R.drawable.ic_launcher);map.put("name", "張三");Map<String, Object> map2=new HashMap<String, Object>();map2.put("image", R.drawable.ic_launcher);map2.put("name", "王五");List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();list.add(map);list.add(map2);SimpleAdapter simpleAdapter=new SimpleAdapter(this, list, R.layout.main4_item, new String [] {"image","name"}, new int [] {R.id.imageView4_1_1,R.id.textView4_1_1});listView.setAdapter(simpleAdapter);}}
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8B/7D/wKiom1hPjF2jZ3mwAAEyHDI1Fko028.png-wh_500x0-wm_3-wmp_4-s_1450833513.png" title="W860@308S~]KK_]QH2$$0SU.png" alt="wKiom1hPjF2jZ3mwAAEyHDI1Fko028.png-wh_50" />
亦可以自訂Adapter
mian5.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/listView5_1_1" android:layout_width="match_parent" android:layout_height="wrap_content" ></ListView></LinearLayout>
main5_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center" ><ImageView android:id="@+id/imageView5_1_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/a" /><TextView android:id="@+id/textView5_1_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="textView" /></LinearLayout>
MainActivity5
package com.example.listview;import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;public class MainActivity5 extends Activity {private ListView listView;//定義的資料private int [] images={R.drawable.ic_launcher,R.drawable.ic_launcher};private String [] names={"xiaobai","xiaoming"};@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main5);listView=(ListView) findViewById(R.id.listView5_1_1);listView.setAdapter(new MyAdapter());}//自訂配接器class MyAdapter extends BaseAdapter{//擷取清單項目總數@Overridepublic int getCount() {// TODO Auto-generated method stubreturn names.length;}//擷取每一個清單項目(根據下標擷取)@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn names[position];}//擷取每一個清單項目的id@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}//@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub//擷取布局填充器LayoutInflater layoutInflater=getLayoutInflater();//擷取main5_item的布局模板View view=layoutInflater.inflate(R.layout.main5_item, null);//從得到的view尋找相應viewImageView imageView=(ImageView) view.findViewById(R.id.imageView5_1_1);TextView textView=(TextView) view.findViewById(R.id.textView5_1_1);imageView.setImageResource(images[position]);textView.setText(names[position]);return view;}}}
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/8B/7F/wKiom1hPodCiVuORAAETEysYaOc120.png-wh_500x0-wm_3-wmp_4-s_4252185371.png" title="]]38N%P($6_]SDLM0MKHW{R.png" alt="wKiom1hPodCiVuORAAETEysYaOc120.png-wh_50" />
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/8B/7F/wKiom1hPowizBeJkAACZ3uL2WSY390.png-wh_500x0-wm_3-wmp_4-s_3160887709.png" title="捕獲.PNG" alt="wKiom1hPowizBeJkAACZ3uL2WSY390.png-wh_50" />
這種方式會多次調用getView()方法
本文出自 “matengbing” 部落格,請務必保留此出處http://matengbing.blog.51cto.com/11395502/1882233
android的ListView圖文混搭