• [转]listview学习


    转子:http://www.apkbus.com/forum.php?mod=viewthread&tid=94324

    1、 ListView单行显示(simple_list_item_1)代码:

    1. public class myListItem1 extends Activity{
    2. @Override
    3. public void onCreate(Bundle savedInstanceState){
    4. super.onCreate(savedInstanceState);

    5. ListView listView = new ListView(this);

    6. List<Map<String, String>> mList = new ArrayList<Map<String, String>>();
    7. for(int i=0; i<10; i++){
    8. Map<String, String> map = new HashMap<String, String>();
    9. map.put("TITLE", "Test Title");
    10. map.put("CONTENT", "Test Content");
    11. mList.add(map);
    12. }

    13. SimpleAdapter adapter = new SimpleAdapter(this,
    14. mList,
    15. android.R.layout.simple_list_item_1,         // List 显示一行item1
    16. new String[]{ "CONTENT" },         // "TITLE",
    17. new int[]{ android.R.id.text1 }
    18. );

    19. listView.setAdapter(adapter);
    20. setContentView(listView);
    21. }
    22. }
    复制代码

    效果:


    2、 ListView双行显示(simple_list_item_2)代码:

    1. public class myListItem2 extends Activity{
    2. @Override
    3. public void onCreate(Bundle savedInstanceState){
    4. super.onCreate(savedInstanceState);

    5. ListView listView = new ListView(this);

    6. List<Map<String, String>> mList = new ArrayList<Map<String, String>>();
    7. for(int i=0; i<10; i++){
    8. Map<String, String> map = new HashMap<String, String>();
    9. map.put("TITLE", "Test Title");
    10. map.put("CONTENT", "Test Content");
    11. mList.add(map);
    12. }

    13. SimpleAdapter adapter = new SimpleAdapter(this,
    14. mList,
    15. android.R.layout.simple_list_item_2,         // List 显示两行item1、item2
    16. new String[]{ "TITLE", "CONTENT" },
    17. new int[]{ android.R.id.text1, android.R.id.text2 }
    18. );

    19. listView.setAdapter(adapter);
    20. setContentView(listView);
    21. }
    22. }
    复制代码

    效果:


    3、 ListView自定义显示代码:

    1. public class MyList extends Activity {
    2. @Override
    3. public void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.mylist);

    6. List<Map<String, Object>> mList = new ArrayList<Map<String, Object>>();
    7. for (int i = 0; i < 10; i++) {
    8. Map<String, Object> map = new HashMap<String, Object>();
    9. map.put("PIC", R.drawable.pic);         // 加载图片资源
    10. map.put("TITLE", "Test Title");
    11. map.put("CONTENT", "Test Content");
    12. mList.add(map);
    13. }

    14. SimpleAdapter adapter = new SimpleAdapter(this,
    15. mList,
    16. R.layout.listitem,         // 自定义布局格式
    17. new String[] { "PIC", "TITLE", "CONTENT" },
    18. new int[] { R.id.listitem_pic, R.id.listitem_title, R.id.listitem_content }
    19. );

    20. ListView listView = (ListView) findViewById(R.id.list);
    21. listView.setAdapter(adapter);
    22. }
    23. }
    复制代码

    自定义的 listitem.xml

    1. <?xml version="1.0" encoding="utf-8"?>

    2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_width="fill_parent"
    4. android:layout_height="?android:attr/listPreferredItemHeight">

    5. <ImageView android:id="@+id/listitem_pic"
    6. android:layout_width="wrap_content"
    7. android:layout_height="fill_parent"
    8. android:layout_alignParentTop="true"
    9. android:layout_alignParentBottom="true"
    10. android:adjustViewBounds="true"
    11. android:padding="10dip" />

    12. <TextView android:id="@+id/listitem_title"
    13. android:layout_width="wrap_content"
    14. android:layout_height="wrap_content"
    15. android:layout_toRightOf="@id/listitem_pic"
    16. android:layout_alignParentRight="true"
    17. android:layout_alignParentTop="true"
    18. android:layout_alignWithParentIfMissing="true"
    19. android:gravity="center_vertical"
    20. android:textSize="22sp" />

    21. <TextView android:id="@+id/listitem_content"
    22. android:layout_width="fill_parent"
    23. android:layout_height="wrap_content"
    24. android:layout_toRightOf="@id/listitem_pic"
    25. android:layout_alignParentBottom="true"
    26. android:layout_alignParentRight="true"
    27. android:layout_below="@id/listitem_title"
    28. android:singleLine="true"
    29. android:ellipsize="marquee"
    30. android:textSize="14sp" />
    31. </RelativeLayout>
    复制代码

    效果:


    4、 GridView自定义显示代码:

    1. public class MyGrid extends Activity {
    2. @Override
    3. public void onCreate(Bundle savedInstanceState) {
    4. super.onCreate(savedInstanceState);
    5. setContentView(R.layout.mygrid);

    6. List<Map<String, Object>> mList = new ArrayList<Map<String, Object>>();
    7. for (int i = 0; i < 10; i++) {
    8. Map<String, Object> map = new HashMap<String, Object>();
    9. map.put("PIC", R.drawable.pic);         // 加载图片资源
    10. map.put("TITLE", "Test Title");
    11. mList.add(map);
    12. }
    13. SimpleAdapter adapter = new SimpleAdapter(this,
    14. mList, R.layout.griditem,         // 自定义布局格式
    15. new String[] { "PIC", "TITLE" },
    16. new int[] { R.id.griditem_pic, R.id.griditem_title, }
    17. );

    18. GridView gridView = (GridView) findViewById(R.id.grid);
    19. gridView.setAdapter(adapter);
    20. }
    21. }
    复制代码

    自定义的 gridview.xml

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:layout_height="fill_parent"
    4. android:layout_width="fill_parent"
    5. android:orientation="vertical">

    6. <ImageView android:id="@+id/griditem_pic"
    7. android:layout_width="wrap_content"
    8. android:layout_height="wrap_content"
    9. android:layout_gravity="center_horizontal">
    10. </ImageView>

    11. <TextView android:id="@+id/griditem_title"
    12. android:layout_width="wrap_content"
    13. android:layout_height="wrap_content"
    14. android:layout_gravity="center_horizontal">
    15. </TextView>
    16. </LinearLayout>
    复制代码

    效果:



    mySimpleAdapter.7z.zip (43.71 KB, 下载次数: 207)

  • 相关阅读:
    BAT 批处理 for循环 迟环境变量 [MD]
    adb 环境配置 常用命令 [MD]
    XML 解析 DOM SAX PULL 序列化 总结 [MD]
    instanceof 和 isInstance 强转 类型 class [MD]
    Charles 简介 总结 HTTP 抓包 代理 [MD]
    Permission 运行时权限 总结 翻译 [MD]
    反编译 AndroidKiller 逆向 字节码 实践案例 [MD]
    Gradle 翻译 Analyzer APK文件分析 [MD]
    Java 中 boolean 类型占用多少个字节 [MD]
    Shell 命令行工具 Cmder Babun Zsh [MD]
  • 原文地址:https://www.cnblogs.com/5tao/p/3097261.html
Copyright © 2020-2023  润新知