安卓,ListView,打气筒的初次使用

安卓,ListView,打气筒的初次使用,第1张

概述先来介绍一下ListView这么个东西,适合用在一排数据的展示中, 例如,这样的一个就是使用了List View这么一个控件实现功能   实现的思路主要是这样 在布局里面加一个ListView像是这样,以下代码是常用的他的一些方法 <ListView android:id="@+id/lv" //加一个id号 android:layout_width=

先来介绍一下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,打气筒的初次使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1121415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存