热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidstudio Listview简单实例

layout布局代码packagecom.example.test.testlistview;importandroid.app.ListActivity;importandroid.os.Bundle;importandroid.view.View;imp


//layout 布局

    xmlns:tools="http://schemas.android.com/tools" android:layout_

    android:layout_ android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    android:paddingBottom="@dimen/activity_vertical_margin"

   >

    android:layout_

    android:layout_

    android:id="@android:id/list"

    />

//代码

package com.example.test.testlistview;


import android.app.ListActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;


import java.util.ArrayList;

import java.util.List;


public class ListViewArrayadapter extends ListActivity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_list_view_arrayadapter);

        Listls = new ArrayList();

        ls.add("测试数据1");

        ls.add("测试数据2");

        ls.add("测试数据1");

        ls.add("测试数据2");

        ls.add("测试数据1");

        ls.add("测试数据2");

        ls.add("测试数据1");

        ls.add("测试数据2");

        ls.add("测试数据1");

        ls.add("测试数据2");

        ls.add("测试数据1");

        ls.add("测试数据2");


        ArrayAdapter adapter =new ArrayAdapter(this,android.R.layout.simple_list_item_1,ls);

        setListAdapter(adapter);  //继承ListActivity才有此函数

    }


    @Override

    protected void onListItemClick(ListView l, View v, int position, long id) {


       String s =((TextView)v).getText().toString();

        Toast.makeText(this,"提示"+position+s,Toast.LENGTH_LONG).show();


        super.onListItemClick(l, v, position, id);

    }

}

//效果图

简单的listview,关键是ArrayAdapter中布局和数据的适配。android.R.layout.simple_list_item_1系统自带的样式,可以根据自己的要求更改布局样式。Listls = new ArrayList() 用于显示的数据。

android studio   Listview简单实例

//SimpleAdapter 适配Listview

//layout

    android:orientation="horizontal" android:layout_

    android:layout_>

    android:id="@+id/img2"

    android:layout_

    android:layout_

    />

   

        android:layout_

        android:layout_

        android:orientation="vertical">

       

            android:id="@+id/title2"

            android:layout_

            android:layout_ />

       

            android:id="@+id/price"

            android:layout_

            android:layout_/>


   

//关键代码设置listview

 SimpleAdapter adapter1 =new SimpleAdapter(this,lm,R.layout.simple2, new String[]{"title","img","price"},new int[]{R.id.title2,R.id.img2,R.id.price});

 setListAdapter(adapter1);

//得到数据

 public List> getData2()

    {

        Mapvalue =new HashMap();

        List>lm =new ArrayList>();

        value.put("title","苹果");

        value.put("img",R.drawable.aphone);

        value.put("price","价格:5800");

        lm.add(value);


        value =new HashMap();

        value.put("title", "三星");

        value.put("img",R.drawable.sphone);

        value.put("price","价格:4800");

        lm.add(value);


        value =new HashMap();

        value.put("title","华为");

        value.put("img",R.drawable.hphone);

        value.put("price","价格:6000");

        lm.add(value);

        return  lm;

    }

android studio   Listview简单实例

//SimpleCursorAdapter适配Listview 用于数据库数据的显示

//关键代码

 //获得一个指向系统通讯录数据库的Cursor对象获得数据来源

                Cursor cursor = getContentResolver().query(Contacts.People.CONTENT_URI,null,null,null,null);

                startManagingCursor(cursor);

                //实例化列表适配器

                ListAdapter la = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,cursor,new String[]{Contacts.People.NAME,Contacts.People.NUMBER},new int[]{android.R.id.text1,android.R.id.text2});

                setListAdapter(la);

//一定要在AndroidManifest.xml加读取联系人的权限。

 

android studio   Listview简单实例

//代码下载

http://down.51cto.com/data/2119105



推荐阅读
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 1简介本文结合数字信号处理课程和Matlab程序设计课程的相关知识,给出了基于Matlab的音乐播放器的总体设计方案,介绍了播放器主要模块的功能,设计与实现方法.我们将该设 ... [详细]
  • SmartRefreshLayout自定义头部刷新和底部加载
    1.添加依赖implementation‘com.scwang.smartrefresh:SmartRefreshLayout:1.0.3’implementation‘com.s ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
author-avatar
情人有意_119
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有