zoukankan      html  css  js  c++  java
  • android学习---ListView

    ListView

    简单示例一

    布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <ListView
            android:id="@+id/listview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    
    </RelativeLayout>

    代码实现:

    MyDataSource.java
    package com.leaf.android;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MyDataSource {
    
        public MyDataSource() {
            // TODO Auto-generated constructor stub
        }
    
        public static List<String> getDataSource() {
            List<String> list = new ArrayList<String>();
            list.add("北京");
            list.add("上海");
            list.add("广州");
            list.add("深圳");
            return list;
        }
    }
    MianActivity.java
    package com.leaf.android;
    
    import java.util.List;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemLongClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
    
    public class MianActivity extends Activity {
    
        private ListView listView;
    
        private ArrayAdapter<String> adapter;
        // 表示数据源
        private List<String> data = null;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            data = MyDataSource.getDataSource();
            adapter = new ArrayAdapter<String>(MianActivity.this,
                    android.R.layout.simple_list_item_multiple_choice, data);
            listView = (ListView) this.findViewById(R.id.listview);
            // 给每一个选项添加单选操作
            // listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
            listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
            listView.setAdapter(adapter);
            listView.setOnItemLongClickListener(new OnItemLongClickListener() {
    
                public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    Toast.makeText(MianActivity.this, "click me", 1).show();
                    return false;
                }
            });
        }
    }

    效果:单选   多选

     示例二:

    布局文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
    
            <TextView
                android:id="@+id/pname"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:layout_weight="1"
                android:text="产品名称"
                android:textSize="15sp" >
            </TextView>
    
            <TextView
                android:id="@+id/price"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:layout_weight="1"
                android:text="产品价格"
                android:textSize="15sp" >
            </TextView>
    
            <TextView
                android:id="@+id/address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:layout_weight="1"
                android:text="产品地址"
                android:textSize="15sp" >
            </TextView>
        </LinearLayout>
    
        <ListView
            android:id="@+id/listview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    实现代码

    MyDataSource.java

    package com.leaf.android;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class MyDataSource {
    
        public MyDataSource() {
            // TODO Auto-generated constructor stub
        }
    
        public static List<Map<String, String>> getMaps() {
            List<Map<String, String>> listMaps = new ArrayList<Map<String, String>>();
            Map<String, String> map1 = new HashMap<String, String>();
            map1.put("pname", "西瓜");
            map1.put("price", "$1.5");
            map1.put("address", "海南");
    
            Map<String, String> map2 = new HashMap<String, String>();
            map2.put("pname", "香蕉");
            map2.put("price", "$2.5");
            map2.put("address", "海南");
    
            Map<String, String> map3 = new HashMap<String, String>();
            map3.put("pname", "苹果");
            map3.put("price", "$5.5");
            map3.put("address", "海南");
            listMaps.add(map1);
            listMaps.add(map2);
            listMaps.add(map3);
            return listMaps;
    
        }
    }

    Main.java

    package com.leaf.android;
    
    import java.util.List;
    import java.util.Map;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    
    public class Main extends Activity {
    
        private ListView listView;
        private SimpleAdapter adapter;
        private List<Map<String, String>> data = null;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            listView = (ListView) this.findViewById(R.id.listview);
            data = MyDataSource.getMaps();
            adapter = new SimpleAdapter(Main.this, data, R.layout.main,
                    new String[] { "pname", "price", "address" }, new int[] {
                            R.id.pname, R.id.price, R.id.address });
            listView.setAdapter(adapter);
        }
    }

    效果:

  • 相关阅读:
    Spring Boot
    AWS DynamoDB
    VBA读excel写xml
    WebSocket API 学习
    故障排除 Mybatis ORA-01000 和 本地缓存问题
    Java基础
    Java Tutorials Lambda表达式 翻译
    在代理环境中构建maven环境
    Pom
    我的JAVA笔记
  • 原文地址:https://www.cnblogs.com/lea-fu/p/3300497.html
Copyright © 2011-2022 走看看