Android of ListView

简单版:1.在activity_main中创建一个

               2.设置一个数组放置名字

               3.在MainActivity中新建一个ArrayAdapter类 adapter,泛型指明为String类型,其中的                   参数为  当前页(MainActivity01.this),安卓自带的list布局                        (R.layout.support_simple_spinner_dropdown_item)数组(data)

               4.用ListView将activity_main中的ListView取出来

               5.用listview调用setAdapter ,将(adapter)放进去


自定义版:1.创建一个实体类,(Fruit)具有构造方法和getter方法


2.在layout布局中新建fruit_item.xml文件 ,修改为LinearLayout布局在其中放置

 其中前者是用来放置图片的,后者放置文字。


3.新建一个java文件继承ArrayAdapter指定泛型Fruit,

1.我们重写一个构造方法,定义一个int类型的resourceID,将super中的resource传进来,这一项是  用来放置布局的id的。

2. 然后重写getview方法,先用一个getitem得到当前Fruit的实例

3.新建一个view 然后用LayoutInflater.from(getContext) 加载布局管理器,调用方法LayoutInflater.from(getContext).inflater(resourceID,parent,false) 其中resourceID是布局 parent是指给该布局的外部再嵌套一层父布局,如果不需要就直接传null,fasle表示只让我们在父布局中声明的layout属性生效,但不会为这个view添加父布局,因为一旦有了父布局,他就不能再添加到ListView中了(我也不懂。。。来自于第一行代码)

(那么今天就从LayoutInflater开始讲起吧。相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。其实setContentView()方法的内部也是使用LayoutInflater来加载布局的)

4.建立 ImageView  fruitImage  来findViewByID到布局fruit_item.xml中的ImageView  

  建立TextView fruitName 来findViewByID到布局fruit_item.xml中的TextView

  fruitImage调用方法setImageResource (fruit.getImageid);

  fruitName调用方法setText(fruit.getText);

  最后return view;


4.返回MainActivity中 加入一个list 泛型指定Fruit

写一个取得数据的方法 

我这里写的是 initFruits(建立一个例子,将名字和图片传进去,list添加例子)

实例化FruitAdapter 参数当前页面,布局list_view, list )



结束!

你可能感兴趣的:(Android of ListView)