1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 安卓打气筒_安卓 ListView 打气筒的初次使用

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

时间:2020-02-22 23:43:15

相关推荐

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

先来介绍一下ListView这么个东西,适合用在一排数据的展示中,

例如,这样的一个就是使用了List View这么一个控件实现功能

实现的思路主要是这样

在布局里面加一个ListView像是这样,以下代码是常用的他的一些方法

然后在MainActivity中找到这个控件,然后为他增加一个适配器。

适配器我们最先介绍一个叫做BaseAdapter的适配器,这个比较洋气

比较好用,

实现的效果是上面的那一个图

packagecom.example.xialm.list_test2;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ListView;importandroid.widget.TextView;public class MainActivity extendsAppCompatActivity {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ListView ll=(ListView)findViewById(R.id.lv);//设置适配器

ll.setAdapter(newmyad());

}

//开始编写适配器public class myad extendsBaseAdapter{

//下面是Base Adapter的四个构造方法,

@Overridepublic intgetCount() {//实现几个条目的显示

return 100000;

}

@Overridepublic Object getItem(intposition) {return null;

}

@Overridepublic long getItemId(intposition) {return 0;

}

@Overridepublic View getView(intposition, 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+"个世界");returntv;

}

}

}

既可实现,

那么我们可以看到这个有点low,向我们手机上那种洋气一点的布局是怎么做的呢,最起码得实现一个这样的布局把

如下:

这个好像还可以接受一波,那么我们现在的数据是我们自己造的,我们在后面会提到

如何从其他的地方拿到我们需要的东西然后再放到我们的LIst View上面来显示,

所以先来搞上面的那个界面,

有第一个案例来说,我们可以发现要做出这样的案例,只需要改动我们Adapter里面的一个

叫做getView 这个方法就可以了,

也就是我们要改动的是这一块

@Overridepublic View getView(intposition, 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+"个世界");returntv;

}

整体的框架我们不需要改动,尤其是if 和 else这一段逻辑

解释一下这一段逻辑是用来实现将我们的程序内存最大的优化

是我们的app的运行更加流畅,使资源不会因为还没有释放之前,

就内存溢出了

那么我们改动哪一块呢,

应该是textview那一快

看上去这样只能显示一行的内容,我们现在想要在左边显示一个图片,

在右边显示两个文本框框,这个明显涉及到了布局

我们再回首看我们的代码的时候发现,我们代码中写的我们只能显示view

当然TextView是View的一种啦

那么顺理成章的,现在可以将目光和思路引导到我们实现 将布局文件转换为 view的伟大道路上

Android底层的工程师为我们创建了这么一个api正好是可以进行实现我们的功能

江湖人称,打气筒,

总结一下,一切思路和上面第一个案例一样,

我们只需要改变Adapter中第四个构造方法中的view

想实现那个就必须要将layout文件转换为view,我们引进了一个技术叫做打气筒

下面是代码

xml

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。