1. 下面的代码是mars老师视频教程里的代码,我把它注释了一下。
  2. 创建两个XML布局文件main.xml和user.xml。main.xml文件为系统自动创建
    main.xml布局文件代码:
    view plain
    1. <?xmlversion="1.0"encoding="utf-8"?>
    2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    3. android:orientation="vertical"
    4. android:layout_width="fill_parent"
    5. android:layout_height="fill_parent">
    6. <LinearLayoutandroid:id="@+id/listLinearLayout"<!--设置LinearLayout的ID-->
    7. android:layout_width="fill_parent"<!--设置LinearLayout宽度为填满整个屏幕-->
    8. android:layout_height="wrap_content"<!--设置LinearLayout高度适应内部控件的高度-->
    9. android:orientation="vertical"><!--设置LinearLayout的排列方式为纵向排列-->
    10. <!--在LinearLayout里嵌套一个ListView控件-->
    11. <ListViewandroid:id="@id/android:list"<!--设置ListView控件的ID,这个ID为android系统内置ID-->
    12. android:layout_width="fill_parent"<!--设置ListView控件的宽度为填满整个屏幕-->
    13. android:layout_height="wrap_content"<!--设置ListView控件的高度为自适应-->
    14. android:drawSelectorOnTop="false"<!--设置ListView控件条目被按下时背景颜色在文字背后,设置成True时背景色会覆盖文字-->
    15. android:scrollbars="vertical"/><!--设置ListView控件滚动条的方向为纵向-->
    16. </LinearLayout>
    17. </LinearLayout>

    ListViw控件中的ID (android:id="@id/android:list") 是Android系统内置的ID,不能改为其他。
    android:drawSelectorOnTop="false"<!-- 当设置为false时条目被按下时背景颜色在文字背后,设置成True时背景色会覆盖文字
    user.xml布局文件代码:
    view plain
    1. <?xmlversion="1.0"encoding="utf-8"?>
    2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    3. android:orientation="horizontal"
    4. android:layout_width="fill_parent"
    5. android:layout_height="fill_parent">
    6. <TextViewandroid:id="@+id/user_name"
    7. android:layout_width="180dip"
    8. android:layout_height="wrap_content"
    9. android:singleLine="true"
    10. android:textSize="10pt"
    11. android:paddingTop="2dip"
    12. android:paddingLeft="2dip"
    13. />
    14. <TextViewandroid:id="@+id/user_ip"
    15. android:layout_width="180dip"
    16. android:layout_height="wrap_content"
    17. android:textSize="10pt"
    18. android:singleLine="true"
    19. android:paddingTop="2dip"
    20. android:paddingRight="2dip"
    21. />
    22. </LinearLayout>
  3. 在Java源代码文件中写入如下代码:
    view plain
    1. packagepaj.ListView;
    2. importjava.util.ArrayList;
    3. importjava.util.HashMap;
    4. importandroid.app.Activity;
    5. importandroid.app.ListActivity;
    6. importandroid.os.Bundle;
    7. importandroid.view.View;
    8. importandroid.widget.ListView;
    9. importandroid.widget.SimpleAdapter;
    10. publicclassListViewMainextendsListActivity{
    11. /**Calledwhentheactivityisfirstcreated.*/
    12. @Override
    13. publicvoidonCreate(BundlesavedInstanceState){
    14. super.onCreate(savedInstanceState);
    15. setContentView(R.layout.main);
    16. //生成一个ArrayList类型的变量list
    17. ArrayList<HashMap<String,String>>list=newArrayList<HashMap<String,String>>();
    18. //生成两个HashMap类型的变量map1,map2
    19. //HashMpa为键值对类型。第一个参数为建,第二个参数为值
    20. HashMap<String,String>map1=newHashMap<String,String>();
    21. HashMap<String,String>map2=newHashMap<String,String>();
    22. //把数据填充到map1和map2中。
    23. map1.put("user_name","张三");
    24. map1.put("user_ip","192.168.1.52");
    25. map2.put("user_name","李四");
    26. map2.put("user_ip","192.168.0.1");
    27. //把map1和map2添加到list中
    28. list.add(map1);
    29. list.add(map2);
    30. //生成一个SimpleAdapter类型的变量来填充数据
    31. SimpleAdapterlistAdapter=newSimpleAdapter(this,list,R.layout.user,newString[]{"user_name","user_ip"},newint[]{R.id.user_name,R.id.user_ip});
    32. //设置显示ListView
    33. setListAdapter(listAdapter);
    34. }
    35. //重写onListItemClick但是ListView条目事件
    36. @Override
    37. protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){
    38. //TODOAuto-generatedmethodstub
    39. super.onListItemClick(l,v,position,id);
    40. //显示单击条目ID号
    41. System.out.println("id="+id);
    42. //显示所单击条目的位置数
    43. System.out.println("position="+position);
    44. }
    45. }


    //生成SimpleAdapter对象参数的解释
    view plain
    1. SimpleAdapterlistAdapter=newSimpleAdapter(
    2. this//this是当前Activity的对象
    3. ,list//list为填充数据后的ArrayList类型的list对象
    4. ,R.layout.user//这个就是之前创建的第二个布局文件user.xml的id。
    5. ,newString[]{"user_name","user_ip"}//这个String数组中的元素就是list对象中的列,list中有几这个数组中就要写几列。
    6. //其中的元素必须是list中列的名。
    7. ,newint[]{R.id.user_name,R.id.user_ip}//这个int型数组中的元素对应着上上一个参数String类型数组中的列名。
    8. //它的值是对应user.xml布局文件中的TextView的id
    9. );

更多相关文章

  1. android UI控件之ListView详解之二listView+SimpleAdpater
  2. 大话企业级Android应用开发实战 文件下载
  3. android音频、视频、拍照基础操作
  4. Kitkat 的磁盘加密功能分析
  5. android:textAppearance
  6. android控制显示和隐藏视图或控件的操作
  7. Android中jNI的使用
  8. Android的res目录
  9. NPM 和webpack 的基础使用

随机推荐

  1. Mysql中关于Incorrect string value的解
  2. mysql触发器实时检测一条语句进行备份删
  3. MySQL触发器trigger的使用
  4. MySQL 如何查找删除重复行
  5. Mysql按特定符号分割成多行和多列的示例
  6. 9种 MySQL数据库优化的技巧
  7. 浅谈MySQL安装starting the server失败的
  8. MySQL表的碎片整理和空间回收的方法
  9. mysql中锁机制的最全面讲解
  10. Mysql空间清理的几种具体方法