作者通过Java代码来实现布局,而我习惯通过.xml文件来实现,所以我对程序做了如下修改

MainActivity.java

  1. public class MainActivity extends Activity
  2. {
  3. ListView myList;
  4. TextView textView;
  5. LayoutInflater inflater=null;
  6. @Override
  7. public void onCreate(Bundle savedInstanceState)
  8. {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main1);
  11. myList = (ListView) findViewById(R.id.myList);
  12. BaseAdapter adapter = new BaseAdapter()
  13. {
  14. @Override
  15. public int getCount()
  16. {
  17. 个选项
  18. return 40;
  19. }
  20. @Override
  21. public Object getItem(int position)
  22. {
  23. return null;
  24. }
  25. // 重写该方法,该方法的返回值将作为列表项的ID
  26. @Override
  27. public long getItemId(int position)
  28. {
  29. return position;
  30. }
  31. // 重写该方法,该方法返回的View将作为列表框
  32. @Override
  33. public View getView(int position, View convertView , ViewGroup parent)
  34. {
  35. // 创建一个LinearLayout,并向其中添加两个组件 Java代码
  36. // LinearLayout line = new LinearLayout(MainActivity.this);
  37. // line.setOrientation(0);
  38. // ImageView image = new ImageView(MainActivity.this);
  39. // image.setImageResource(R.drawable.tiger);
  40. // TextView text = new TextView(MainActivity.this);
  41. // text.setText("第" + (position +1 ) + "个列表项");
  42. // text.setTextSize(20);
  43. // text.setTextColor(Color.RED);
  44. // line.addView(image);
  45. // line.addView(text);
  46. inflater = LayoutInflater.from(MainActivity.this);
  47. if (convertView == null) {
  48. convertView = inflater.inflate(R.layout.linearlayout1,null);
  49. }
  50. textView = (TextView) convertView.findViewById(R.id.tex);
  51. textView.setText("第" + (position +1 ) + "个列表项");
  52. // 返回LinearLayout实例
  53. return convertView;
  54. }
  55. };
  56. myList.setAdapter(adapter);
  57. }
  58. }

XML文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <ListView
  7. android:id="@+id/myList"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"/>
  10. </LinearLayout>

linearlayout1.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="horizontal"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6.  
  7. <ImageView
  8. android:id="@+id/img"
  9. android:src="@drawable/tiger"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"/>
  12.  
  13. <TextView
  14. android:id="@+id/tex"
  15.  
  16. android:textSize="20dp"
  17. android:textColor="@android:color/holo_red_light"
  18. android:layout_width="wrap_content"
  19. android:layout_height="wrap_content"/>
  20.  
  21.  
  22. </LinearLayout>

效果:

BaseAdapter的更多相关文章

  1. Android笔记——BaseAdapter的使用

    Android中的适配器(Adapter)是数据与视图(View)之间的桥梁,用于对要显示的数据进行处理,并通过绑定到组件进行数据的显示. BaseAdapter是Android应用程序中经常用到的基 ...

  2. Android关于listView的BaseAdapter以及getView的三级优化

    1.4个重写方法的含义 自定义Adapter继承自BaseAdapter(通用适配器)   getCount(); getItem(); getItemId(); getViewTypaCount() ...

  3. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

  4. Android日记-SimpleAdapter和BaseAdapter

    SimpleAdapter 这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图.你可以指定由Map组成的List(比如ArrayList)类型的数据.在ArrayList中的每个条目对 ...

  5. BaseAdapter的抽取

    为了更方便高效的使用BaseAdapter,特意抽取了一下,下面是简单的结构图: 需要4个类: [MyBaseAdapter3]: public abstract class MyBaseAdapte ...

  6. Android开发学习——ListView+BaseAdapter的使用

    ListView 就是用来显示一行一行的条目的MVC结构 * M:model模型层,要显示的数据           ----people集合 * V:view视图层,用户看到的界面          ...

  7. 深入理解使用ListView时ArrayAdapter、SimpleAdapter、BaseAdapter的原理

    在使用ListView的时候,我们传给setAdapter方法的Adapter通常是ArrayAdapter.SimpleAdapter.BaseAdapter,但是这几个Adapter内部究竟是什么 ...

  8. BaseAdapter日常的封装

    我们日常开发中BaseAdapter使用非常的多,大家有没有想过,再进一步封装,将平常使用的对象集合,利用泛型放入集合中,再也不用每次都重写那几个方法了,当然我也提供我的下载地址(https://gi ...

  9. 自定义一个可复用的BaseAdapter

    1.我们一点点开始改: 首先我们自定义BaseAdapter,等下我们就要对他进行升级改造 /** * Created by Jay on 2015/9/21 0021. */ public clas ...

  10. 安卓解析json,使用BaseAdapter添加至ListView中,中间存储用JavaBean来实现

    这是一个小练习,要求解析一个提供的json文件.并将其中的id,title值获取,以ListView形式展示出来.(开发工具是android studio) 下面开始: 首先我想到的是先把json文件 ...

随机推荐

  1. Buffer I/O error on device sr0

    Buffer I/O error on device sr0, logical block 0 I check today some old CDs, some of them were from ’ ...

  2. EditorGUILayout,GUILayout

    bool active=EditorGUILayout.Toggle("active",_bodyObj.active);//bool类型 b2BodyType type=(b2B ...

  3. 必备 .NET - C# 脚本

    作者:Mark Michaelis | 2016 年 1 月 Link: https://msdn.microsoft.com/zh-cn/magazine/mt614271.aspx 随着 Visu ...

  4. poi转geohash

    import geohashimport sysfor line in sys.stdin: fields = line.strip().split('\t') hostid,POS_TIME,POS ...

  5. 获取RequestMapping注解中的属性

    参考:https://www.cnblogs.com/2013jiutian/p/7294053.html @RequestMapping("/value1") @Controll ...

  6. phpStudy2——PHP脚本访问MySql数据库

    前言: 前边介绍了php脚本获取并打印输出html提交的数据,本文将介绍php脚本访问查询MySql数据库. 示例代码: <style> td{width:100px;}/*我的存在只为证 ...

  7. 浅谈python中的“ ==” 与“ is”

    在python中,== 与 is 之间既有区别,又有联系,本文将通过实际代码的演示,力争能够帮助读到这篇文章的朋友以最短的时间理清二者的关系,并深刻理解它们在内存中的实现机制.扯淡的话不多说,下面马上 ...

  8. Java数据类型与MySql数据类型对照表

    这篇文章主要介绍了Java数据类型与MySql数据类型对照表,以表格形式分析了java与mysql对应数据类型,并简单讲述了数据类型的选择与使用方法,需要的朋友可以参考下 本文讲述了Java数据类型与 ...

  9. 240. Search a 2D Matrix II&&74. Search a 2D Matrix 都用不严格递增的方法

    一句话思路:从左下角开始找.复杂度是o(m+n). 一刷报错: 应该是一个while循环中有几个条件判断语句,而不是每个条件判断语句里去加while,很麻烦 数组越界了.从0开始,y的最大条件应该是& ...

  10. java代码分析及分析工具

    一个项目从搭建开始,开发的初期往往思路比较清晰,代码也比较清晰.随着时间的推移,业务越来越复杂.代码也就面临着耦合,冗余,甚至杂乱,到最后谁都不敢碰. 作为一个互联网电子商务网站的业务支撑系统,业务复 ...