作者通过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. AI-人工智能-参考文档

     人工智能——目录汇总: https://blog.csdn.net/qq_27297393/article/details/80685474   人工智能——高数篇: https://blog.cs ...

  2. apache commons pool

    apache commons下的pool 其中的borrowObject函数源代码显示其产生可用对象的过程: 如果stack中有空闲的对象,则pop对象,激活对象(activate函数),验证对象(v ...

  3. 视频采集,存成avi

    视频采集,存成aviunit Unit1; interface uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Form ...

  4. js 日期证有效性验的通用方法

    开发的理念是“为复用而开发,为使用而组装”,代码的复用度将是项目和产品的一个重要的技术指标. var DateTools={ isDate:function(str) { var result = s ...

  5. eclispe 通过git向码云上传

    本文将介绍如何将本地的项目提交到开源中国上去,过程比较详细,实现起来很简单.由于自己也算是一个新手,所以没有做过多的解释,只是单纯的描述了该如何去做. 1.在开源中国上面新建一个空项目 到这里也就结束 ...

  6. Git操作的一些注意

    这是在在学习Git时遇到的一些需要注意的地方,都是一些小细节的地方,可能会有错误的地方,希望大家可以指出谢谢   1.git使用,安装后,首先要打开git bash   2.必须登录后才可以操作git ...

  7. Android自定义实现微信标题栏

    Android自定义实现微信标题栏     前言:在android的开发中有时我们需要更个性化的标题栏,而不仅仅是系统预定义的图标加软件名,同时有时候我们需要在标题栏中实现更多功能,如添加按钮响应用户 ...

  8. 第六章 图(b1)邻接矩阵

  9. impulse···········

    impulse - Bing dictionary US['ɪm.pʌls]UK['ɪmpʌls] n.冲动:冲量:推动力:刺激 v.推动 网络脉冲:冲击 变形Plural Form:impulses ...

  10. pairs

    pairs http://acm.hdu.edu.cn/showproblem.php?pid=5178 Time Limit: 2000/1000 MS (Java/Others)    Memor ...