,,Android控件ListView使用方法详解

,,Android控件ListView使用方法详解

这篇文章主要为大家详细介绍了机器人控件列表视图的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

机器人控件列表视图使用方法介绍,具体如下

一、ListView的简单用法

首先新建一个ListViewTest项目,并让安卓工作室自动创建好活动。然后修改activity_main.xml中的代码,如下:

?可扩展标记语言版本='1.0 '编码='utf-8 '?

线性布局xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

列表视图

android:id='@ id/list_view '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

/列表视图

/线性布局

接下来修改主要活动中的代码:

公共类主要活动扩展AppCompatActivity {

私有字符串[]数据={ '苹果','香蕉','桔子','西瓜','梨','葡萄','菠萝','草莓','樱桃','芒果','苹果','香蕉','桔子','西瓜','梨','葡萄','菠萝','草莓','樱桃' };

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

setContentView(r . layout。活动_主);

ArrayAdapterString adapter=new ArrayAdapterString(主活动。这个,安卓.R.layout.simple_list_item_1,data);

ListView ListView=(ListView)findViewById(r . id。list _ view);

listview.setAdapter(适配器);

}

}

数组中的数据无法直接传递给列表视图,需要借助适配器来实现。

ArrayAdapter的构造函数中依次传入当前上下文,列表视图子项布局的id,以及要适配的数据;

调用列表视图的setAdapter()方法,将构建好的适配器对象传递进去,这样列表视图和数据之间的关联就建立完成。

运行程序,可以通过滚动的方式来查看屏幕外的数据。

二、定制ListView的界面

首先准备一组图片,分别对应上面提供的每一种水果(注意图片大小尽量一致),放在可拉的目录下,注意命名不能出现大写字母(比如苹果不合法);

在管理员. listviewtest下新建Java。语言(一种计算机语言,尤用于创建网站)文件,定义一个实体类水果,作为列表视图适配器的适配类型。

公共类水果{

私有字符串名称;

私有int imageId

public Fruit(String name,int imageId){

this.name=name

this.imageId=imageId

}

公共字符串getName(){

返回名称;

}

public int getImageId(){

返回imageId

}

}

然后为列表视图的子项指定一个自定义布局,在布局目录下新建水果_项目。xml。

?可扩展标记语言版本='1.0 '编码='utf-8 '?

线性布局xmlns:Android=' http://模式。安卓。' com/apk/RES/Android '

Android:layout _ width=' match _ parent '

Android:layout _ height=' wrap _ content '

图像视图

android:id='@ id/fruit_image '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '/

文本视图

android:id='@ id/fruit_name '

Android:layout _ width=' wrap _ content '

Android:layout _ height=' wrap _ content '

Android:layout _ gravity=' center _ vertical '

Android:layout _ margin left=' 10dp '

/

/线性布局

接下来创建一个自定义的适配器,同样在管理员. listviewtest下新建Java。语言(一种计算机语言,尤用于创建网站)文件,重写了父类的一组构造函数,用于将上下文、列表视图子项布局的身份证明(识别)和数据都传递进来,命名为水果适配器,代码如下:

公共类水果适配器扩展ArrayAdapterFruit {

私有int resourceId

公共水果适配器(上下文Context,int textViewResourceId,ListFruit对象){

super(context,textViewResourceId,objects);

resourceId=textViewResourceId

}

@覆盖

公共视图getView(int position,View convertView,ViewGroup parent){

水果水果=getItem(位置);//获取当前项的实例

view view=layoutinflater。from(get context()).inflate(resourceId,parent,false);

ImageView水果图像=(ImageView)视图。findviewbyid(r . id。水果_图片);

TextView果名=(TextView)视图。findviewbyid(r . id。水果_名称);

水果形象。设置图像资源(水果。getimageid());

果名。settext(水果。getname());

返回视图;

}

}

下面修改主要活动中的代码:

包com。举例。管理员。listview测试;

导入安卓。支持。V7。app。app compat活动;

导入安卓。OS。捆绑;

导入安卓。小部件。数组适配器;

导入安卓。小部件。列表视图;

导入Java。util。ArrayList

导入Java。util。列表;

公共类主要活动扩展AppCompatActivity {

私有列表水果水果列表=new ArrayList();

//私有字符串[]数据={ '苹果','香蕉','橙子','西瓜','梨','葡萄','菠萝','草莓','樱桃','芒果','苹果','香蕉','橙子','西瓜','梨','葡萄','菠萝','草莓','樱桃','芒果' };

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

setContentView(r . layout。活动_主);

init水果();//初始化水果数据

水果适配器适配器=新水果适配器(主要活动。this,R.layout.fruit_item,水果清单);

//ArrayAdapterString adapter=new ArrayAdapterString(main activity。这个,安卓.R.layout.simple_list_item_1,data);

ListView ListView=(ListView)findViewById(r . id。list _ view);

listview.setAdapter(适配器);

}

私有void initFruits(){

for(int I=0;I2;i ){

水果苹果=新水果('苹果可拉伸的。苹果);

fruitList.add(苹果);

水果橙=新水果(“橙色”,r . drawable。橙色);

fruitList.add(橙色);

水果香蕉=新水果('香蕉可绘制的。香蕉);

fruitList.add(香蕉);

水果waterlenmo=新水果(‘水之精灵’,r . draw able。水柠檬);

水果清单。添加(水lenmo);

水果梨=新水果('梨可拉伸的。梨);

水果清单。加(梨);

水果葡萄=新水果('葡萄R.drawable。葡萄);

fruitList.add(葡萄);

水果菠萝=新水果('菠萝R.drawable。菠萝);

fruitList.add(菠萝);

水果草莓=新水果("草莓“,r . draw able。吸管);

fruitList.add(草莓);

水果樱桃=新水果(“樱桃”,r . draw able。樱桃);

fruitList.add(樱桃);

水果芒果=新水果('芒果可拉伸的。芒果);

fruitList.add(芒果);

}

}

}

运行程序后,效果图如下(图片大小后来才意识到,懒得换了……):

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: