• 实现、文件Android中的ListView实现图片文字和按钮by小雨


    第一次发帖

        实现效果图:

        

        

        

        局布文件:

        

        

    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
    <?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>

    程序代码:

    ?
    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
     *
     */
    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.from(context);
            }
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return mData.size();
            }
     
            @Override
            public Object getItem(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }
     
            @Override
            public long getItemId(int arg0) {
                // TODO Auto-generated method stub
                return 0;
            }
     
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                 
                ViewHolder holder = null;
                if (convertView == null) {
                     
                    holder=new ViewHolder(); 
                     
                    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(new View.OnClickListener() {
                     
                    @Override
                    public void onClick(View v) {
                        showInfo();                
                    }
                });
                 
                 
                return convertView;
            }
             
        }
         
         
         
         
    }

    文章结束给大家分享下程序员的一些笑话语录: 姿势要丰富,经常上百度!

  • 相关阅读:
    Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-1
    Matlab高级教程_第一篇:Matlab基础知识提炼_06
    利用ubuntu的alias命令来简化许多复杂难打的命令
    无线路由设置
    解决Ubuntu下使用命令行subl 打开Sublime text3无法输入中文的问题
    ubuntu 14.04 lamp 安装与配置
    ubuntu14.04 login loop issue
    机器学习资源大全
    技巧:利用putty通过win7访问ubuntu
    使用XML-RPC进行远程文件共享
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3020382.html
Copyright © 2020-2023  润新知