当前位置:操作系统 > 安卓/Android >>

Android中的ListView实现图片文字和按钮

实现效果图:
 
 
 
布局文件:
vlist2.xml
?
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
 
 
    <ImageView android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5px"/>
 
    <LinearLayout android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
 
        <TextView android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFFFF"
            android:textSize="22px" />
        <TextView android:id="@+id/info"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFFFF"
            android:textSize="13px" />
 
    </LinearLayout>
 
 
    <Button android: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>
程序代码:
 
/**
 *
 @author allin
 *
 */
public class MyListView4
extends ListActivity
 {
 
 
    private List<Map<String,
 Object>> mData;
     
    @Override
    public void onCreate(Bundle
 savedInstanceState) {
        super.onCreate(savedInstanceState);
        mData
 = getData();
        MyAdapter
 adapter = new MyAdapter(this);
        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("title",
"G1");
        map.put("info",
"google
 1");
        map.put("img",
 R.drawable.i1);
        list.add(map);
 
        map
 = new HashMap<String,
 Object>();
        map.put("title",
"G2");
        map.put("info",
"google
 2");
        map.put("img",
 R.drawable.i2);
        list.add(map);
 
        map
 = new HashMap<String,
 Object>();
        map.put("title",
"G3");
        map.put("info",
"google
 3");
        map.put("img",
 R.drawable.i3);
        list.add(map);
         
        return list;
    }
     
    //
 ListView 中某项被选中后的逻辑
    @Override
    protected void onListItemClick(ListView
 l, View v, int position,
long id)
 {
         
        Log.v("MyListView4-click",
 (String)mData.get(position).get("title"));
    }
     
    /**
     *
 listview中点击按键弹出对话框
     */
    public void showInfo(){
        new AlertDialog.Builder(this)
        .setTitle("我的listview")
        .setMessage("介绍...")
        .setPositiveButton("确定",
new DialogInterface.OnClickListener()
 {
            @Override
            public void onClick(DialogInterface
 dialog, int which)
 {
            }
        })
        .show();
         
    }
     
     
     
    public final class ViewHolder{
        public ImageView
 img;
        public TextView
 title;
        public TextView
 info;
        public Button
 viewBtn;
    }
     
     
    public class MyAdapter
extends BaseAdapter{
 
        private LayoutInflater
 mInflater;
         
         
        public MyAdapter(Context
 context){
            this.mInflater
 = LayoutInflater.
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,