先来介绍一下ListVIEw这么个东西,适合用在一排数据的展示中,
例如,这样的一个就是使用了List VIEw这么一个控件实现功能
实现的思路主要是这样
在布局里面加一个ListVIEw像是这样,以下代码是常用的他的一些方法
<ListVIEw androID:ID="@+ID/lv" //加一个ID号 androID:layout_wIDth="match_parent" //设置宽度高度 androID:fastScrollEnabled="true" //实现一个下滑块,方便一下到底 androID:layout_height="match_parent"></ListVIEw>
然后在MainActivity中找到这个控件,然后为他增加一个适配器。
适配器我们最先介绍一个叫做BaseAdapter的适配器,这个比较洋气
比较好用,
实现的效果是上面的那一个图
package com.example.xialm.List_test2;import androID.support.v7.app.AppCompatActivity;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.BaseAdapter;import androID.Widget.ListVIEw;import androID.Widget.TextVIEw;public class MainActivity extends AppCompatActivity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); ListVIEw ll = (ListVIEw)findVIEwByID(R.ID.lv);//设置适配器 ll.setAdapter(new myad()); }//开始编写适配器 public class myad extends BaseAdapter{
//下面是Base Adapter的四个构造方法, @OverrIDe public int getCount() { //实现几个条目的显示 return 100000; } @OverrIDe public Object getItem(int position) { return null; } @OverrIDe public long getItemID(int position) { return 0; } @OverrIDe public VIEw getVIEw(int position,VIEw convertVIEw,VIEwGroup parent) { TextVIEw tv; if(convertVIEw == null){ //创建新的缓存对象 tv = new TextVIEw(MainActivity.this); }else{ //复用新的缓存对象 tv = (TextVIEw)convertVIEw; } int s = position+1; tv.setText("你好,你是第"+s+"个世界"); return tv; } }}
既可实现,
那么我们可以看到这个有点low,向我们手机上那种洋气一点的布局是怎么做的呢,最起码得实现一个这样的布局把
如下:
这个好像还可以接受一波,那么我们现在的数据是我们自己造的,我们在后面会提到
如何从其他的地方拿到我们需要的东西然后再放到我们的List VIEw上面来显示,
所以先来搞上面的那个界面,
有第一个案例来说,我们可以发现要做出这样的案例,只需要改动我们Adapter里面的一个
叫做getVIEw 这个方法就可以了,
也就是我们要改动的是这一块
@OverrIDe public VIEw getVIEw(int position,你是第"+s+"个世界"); return tv; }
整体的框架我们不需要改动,尤其是if 和 else这一段逻辑
解释一下这一段逻辑是用来实现将我们的程序内存最大的优化
是我们的app的运行更加流畅,使资源不会因为还没有释放之前,
就内存溢出了
那么我们改动哪一块呢,
应该是textvIEw那一快
看上去这样只能显示一行的内容,我们现在想要在左边显示一个图片,
在右边显示两个文本框框,这个明显涉及到了布局
我们再回首看我们的代码的时候发现,我们代码中写的我们只能显示vIEw
当然TextVIEw是VIEw的一种啦
那么顺理成章的,现在可以将目光和思路引导到我们实现 将布局文件转换为 vIEw的伟大道路上
AndroID底层的工程师为我们创建了这么一个API正好是可以进行实现我们的功能
江湖人称,打气筒,
总结一下,一切思路和上面第一个案例一样,
我们只需要改变Adapter中第四个构造方法中的vIEw
想实现那个就必须要将layout文件转换为vIEw,我们引进了一个技术叫做打气筒
下面是代码
xml
总结以上是内存溢出为你收集整理的安卓,ListView,打气筒的初次使用全部内容,希望文章能够帮你解决安卓,ListView,打气筒的初次使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)