• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android开发之路08(ListView&Adapter),androidlistview

android开发之路08(ListView&Adapter),androidlistview

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android开发listview,android开发之路,android开发,android开发环境搭建,android开发工具等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android开发之路08(ListView&Adapter),androidlistview


ListView控件介绍:用于将数据库中的数据或者网络中的数据通过列表的形式显示出来;ListView采用MVC模式将前端显示和后端数据进行分离。 也就是说,ListView控件在装载数据时并不是直接使用ListView.add或者类似的方法添加数据,而是需要指定一个Adapter对象。该对象相当于MVC模式中的C(控制器),ListView相当于MVC模式中的V(视图),用于显示数据。为ListView提供数据的List或数组相当于MVC模式中的M(模型)在ListView控件中通过Adapter对象获得需要显示的数据,在创Adapter对象时需要指定要显示的数据(List或数组对象),因此,要显示的数据与ListView之间通过Adapter对象进行连接,同时又互相独立,也就是说,ListView只知道显示的数据来自Adapter,并不知道这些数据是来自List还是数组。

1.ListView应用实例(这里是在java代码中操作listview对象的):

public class MyListActivity extends ListActivity{

//定义一个字符串数组,代表我们的数据源

private  static final String[] COUNTRIES=new String[]{"中国","法国","美国","德国","日本","朝鲜","印度"};

 

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//把我们需要展现的数据展现到ListView上

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,COUNTRIES));

//通过getListView()方法获取listview对象

ListView lv=getListView();

lv.setTextFilterEnabled(true);

Log.e("MyListActivity", "listview界面产生了");

lv.setOnItemClickListener(new OnItemClickListener() {

 

@Override

public void onItemClick(AdapterView<?> parent, View view,

int position, long id) {

//通过getText()方法获取用户选择的ListView中的选项信息

Log.e("MyListActivity", "列表选项被点击了,看看会出现什么");

Toast.makeText(getApplicationContext(), ((TextView)view).getText(), Toast.LENGTH_LONG).show();

}

 

});

}

}

列表项xml文件如下:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:padding="10dp"

    android:textSize="16sp">

</TextView>

 

Java代码①:

public class MyActivity extends Activity{

private ListView listview;

private ArrayAdapter<String> adapter;

//定义一个数据源

private List<String> data=null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取数据源

data=MyDataSource.getDataSource();

adapter=new ArrayAdapter<String>(this, R.layout.list_item, data);

listview=(ListView) findViewById(R.id.listview);

//将数据源通过adapter显示到listview视图上

listview.setAdapter(adapter);

 

 

}

}

Java代码②:

 

public class MyDataSource {

 

public MyDataSource() {

super();

}

 

public static List<String> getDataSource(){

List<String> list=new ArrayList<String>();

list.add("北京");

list.add("上海");

list.add("广州");

list.add("湖北");

list.add("湖南");

list.add("深圳");

list.add("西安");

 

return list;

 

}

 

}

 

布局文件activity_main.xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

 

    <ListView

        android:id="@+id/listview"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:text="@string/hello_world" />

 

</RelativeLayout>

 

列表项list_item.xml代码:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:padding="10dp"

    android:textSize="16sp">

</TextView>

 

2.ListView应用实例:

在上面的两个例子中我们用的都是ArrayAdapter(数组适配器),这个适配器显示的数据源比较单一;而SimpleAdapter能定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等; 

下面我们就来看看如何使用SimpleAdapter

①MainActivity.java

public class MainActivity extends Activity {

private ListView mListView;

private SimpleAdapter mSimpleA

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android开发:优化ListView实践解析
  • android开发之路08(ListView&amp;Adapter),androidlistview

相关文章

  • 2017-05-26Android 6.0 系统棉花糖新的特性和功能
  • 2017-05-26内核内存分配常用函数使用
  • 2017-05-26android:Activity启动模式之standard
  • 2017-05-26Android百度地图API集成三《搜索》,android《搜索》
  • 2017-05-26360多渠道打包,360打包
  • 2017-05-26安卓界面组件----列表视图,安卓组件----视图
  • 2017-05-26ScrollView中嵌套GridView,ListView只显示一行的解决办法,scrollviewgridview
  • 2017-05-26Android刷机教程之LG Nexus 5X线刷官方Nexus系列教程,androidnexus
  • 2017-05-26Android中View的事件分发机制——Android开发艺术探索笔记
  • 2017-05-26Android GreenDAO3.0——介绍,androidgreendao3.0

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android开发日常-listVIiew嵌套webView回显阅读位置,-listviiewwebview
    • Android的开机流程及对应源码位置分析,android源码
    • 硅谷社交12--群列表页面,硅谷社交12--列表
    • Android Studio插件,androidstudio插件
    • Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset,n7.1.1headset
    • 4.5.2 Intent之复杂数据的传递
    • Linux内核系列—6.操作系统开发之内存分页机制,linux分页
    • Android 中的R文件 丢失或无法更新,android
    • 修改Android系统关机动画,android关机动画
    • 报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有