ListActivity

article/2025/8/22 5:14:13

ListActivity

 

         ListActivity中比较复杂的部分就是配置其AdapterAdapter常用的有ArrayAdapterSimpleAdapter

 

首先我们先看一下简单的ArrayAdapterListActivity不同于普通Activity的地方是该Activity里边有一个ListView,该ListView绑定了Adapter中的数据。在这个示例中,该ListView绑定了包含三个元素的ArrayList,这三个元素分别是”1, 2, 3”

        

         主要代码:

         首先我们需要让我们的类继承于ListActivity

   1: pubic class ListActivityTest extends ListActivity
   2: {
   3: …..
   4: }
 

让我们直接看代码吧:

   1: public class ListActivityTest extends ListActivity
   2: {
   3:     /** Called when the activity is first created. */
   4:     @Override
   5:     public void onCreate(Bundle savedInstanceState) 
   6:     {
   7:         super.onCreate(savedInstanceState);
   8:         this.setTheme(android.R.style.Theme_Black);
   9:     //    setContentView(R.layout.main);
  10:         
  11:         List items = fillArray();
  12:         
  13:         ArrayAdapter adapter = new ArrayAdapter(
  14:                 this, android.R.layout.simple_expandable_list_item_1, items);
  15:         this.setListAdapter(adapter);
  16:     }
  17:     
  18:     private List fillArray()
  19:     {
  20:         List items = new ArrayList();
  21:         items.add("1");
  22:         items.add("2");
  23:         items.add("3");
  24:         return items;
  25:     }
  26: }
fillArray() 返回了一个有三个String对象的List集合,我们在后边用来绑定ListView 显示的内容。

然后我们需要在类中的onCreate()函数里边添加如下内容:

List items = this.getData();  // 获得待绑定的集合

ArrayAdapter adapter = new ArrayAdapter(

                this, android.R.layout.simple_expandable_list_item_1,

 items);

         this.setListAdapter(adapter);

其中:this代表当前的Contextandroid.R.layout.simple_expandable_list_item_1代表一个包含ListViewlayoutID,系统自带了几种,我们在这里选择的是系统自带的;items表示被绑定的数据源。

 

OK,简单的看完我们就可以看复杂一点的SimpleAdapter

我们还是先来看一下效果:

 

先上代码:

   1: public class ListActivityTest extends ListActivity
   2: {
   3:     /** Called when the activity is first created. */
   4:     @Override
   5:     public void onCreate(Bundle savedInstanceState) 
   6:     {
   7:         super.onCreate(savedInstanceState);
   8:         
   9:         List> listContent = this.getData();
  10:         
  11:         SimpleAdapter adapter = new SimpleAdapter(this,
  12:                 listContent,
  13:                 android.R.layout.simple_list_item_2,
  14:                 new String[] {"Name", "Address"},
  15:                 new int[] {android.R.id.text1, android.R.id.text2});
  16:         
  17:         setListAdapter(adapter);
  18:     }
  19:     
  20:     private List> getData()
  21:     {
  22:         List> listContent = new ArrayList>();
  23:         
  24:         Hashtable table1 = new Hashtable();
  25:         table1.put("Name", "LiLi");
  26:         table1.put("Address", "China");
  27:         listContent.add(table1);
  28:         
  29:         Hashtable table2 = new Hashtable();
  30:         table2.put("Name", "NiuNiu");
  31:         table2.put("Address", "ChinaHeibei");
  32:         listContent.add(table2);
  33:         
  34:         return listContent;
  35:     }
  36: }

 

讲解:

SimpleAdapter可以实现比ArrayAdapter更加复杂的ListView界面,我们这个程序实现的是一项中有两行文字的ListView

其中的getData()函数返回的是一个List,这个不懂的朋友请查阅相关的Java基础资料。在onCreate()函数中构造了一个SimpleAdapter(),我们看一下SimpleAdapter()的构造函数:

SimpleAdapter(Context context, List > data, int resource, String[] from, int[] to)

其中:

context : 当前的环境上下文,一般直接传递thisOK

Data:数据源,我们之前构造的listContent就是该ListView的数据源

resourcelayout模板资源,我们可以传递Android自带的,当然也可以自定义,我们在这里为了简单传递的是Android自带的

fromto:这个我们需要联合起来看,这两个是平行数组,也就是数组的大小相同,根据我们的例子,我们需要在android.R.id.text1中显示数据源中索引为”name”的项,在android.R.id.text2种显示索引为”address”的项。


http://chatgpt.dhexx.cn/article/7TOGe7hg.shtml

相关文章

JAVA:Timer+actionListener

Timer类 •类描述: –它是一个按预定频率触发ActionEvent事件的源组件,利用它可以实现动态效果。 •构造方法: –Timer( int delay, ActionListener actionListener(绑定监听器,开始后自己不断调用监听器的actionp…

actions的使用详解

actions的使用详解 为何要有actions环节 我们之前学了vuex状态管理,组件可以引用state,但是不能直接修改state,比如发送操作到actions,在此执行异步操作,然后再提交mutation来修改state.如果没有异步操作可以直接提交到mutation…

idea插件Material Theme主题设置方法

首先:如果要设置下图这种: 1. 先下载插件 2. 设置主题 3. 设置代码界面主题 4. 下载 Atom Material Icons插件

idea工具推荐几款好用的代码theme主题颜色

先去这个主题网站选择自己喜欢的主题http://color-themes.com/?viewindex 我个人比较喜欢这几款,你们要是喜欢其他主题的可以选择别的 点击下面的下下载按钮 跳转页面后点击下载 然后在我们的idea编辑器器中导入主题jar包找到我们下载的jar包然后点击ok 然后点击E…

Material Theme 主题插件 - Sublime 插件

1. 安装 Material Theme 主题插件 Material Theme主题、配色方案所占的区域 2. Material Theme 配色方案(右侧区域) 查看可用的配色方案 可选配色方案(个人推荐:Material-Theme-Darker) Darker 配色方案效果

android_基础_常见主题theme风格详解

本文出自门心叼龙的博客,转载请注明出处: https://blog.csdn.net/geduo_83/article/details/86560896 目录 1. 什么是Style,什么是Theme? 2. 在定义Theme的时候符号和?符号有何区别? 3. 怎么通过代码给…

iview 实现在theme主题中添加某一个新模块的主题颜色切换

背景:直接下载的iview-admin 1.3.1模板 1、iview 自带主题theme 主要有4个颜色组成 分别为 默认的蓝色,其他分别为红色,蓝色,洋红色;然后在根据菜单栏是否为黑色和白色的组合状态所以有8中组合的主题; 2、…

Android——Theme和Style-由浅入深,全面讲解

1、官方详细解读 样式和主题背景 | Android 开发者 | Android Developers 2、应用场景 类似web设计中css样式。将应用设计的细节与界面的结构和行为分开。 样式style :应用于 单个 View 的外观。样式可以指定字体颜色、字号、背景颜色等属性 主题theme&…

关于eclipse IDE安装Darkest Dark Theme主题插件

听说Darkest Dark Theme是现在最受欢迎的eclipse主题插件,于是我也来搞了一下。 Darkest Dark Theme官方网站(打开慢的要死,不知道是不是只有我会有这个问题。) https://marketplace.eclipse.org/content/darkest-dark-theme安装教程: 1.打开…

Vue Theme主题样式整理

为什么80%的码农都做不了架构师?>>> 一、ElementUI官方主题在线生成预览 https://elementui.github.io/theme-chalk-preview/#/zh-CN 使用步骤: 1.选择主题颜色,下载主题 包,然后解压 2.找到node_modules下的element-u…

Android Theme 常见主题风格详解

本文为自己多年来在Android实战开发过程中总结归纳的一些常见问题,现在分享出来希望对初学者有所帮助。 本文出自门心叼龙的博客,转载请注明出处: https://blog.csdn.net/geduo_83/article/details/86560896 目录 1. 什么是Style&…

Android自带的Theme主题图解

一、Manifest文件中: 从上图中我们可以看到在这个应用程序中我们的主题应用的是 AppTheme ,然后我们去看看 AppTheme 。 二、style.xml文件中: 这个文件是在应用工程中的: 然后又可以发现 AppTheme 主题样式是继承自 AppBaseTheme 主题样式的, 而 AppBaseTheme 主题样式又…

OpenWRT LUCI Theme主题定制

本人所写的博客都为开发之中遇到问题记录的随笔,主要是给自己积累些问题。免日后无印象,如有不当之处敬请指正(欢迎进扣群 24849632 探讨问题); 我们在github上先找一个合适的主题 https://github.com/search?q=luci+theme 比如我们以 rosywrt/luci-theme-rosy 为例 第…

Android的Theme主题切换

简单的Theme换肤功能 效果截图 1、定义属性 先定义几个需要改变的属性&#xff0c;例如&#xff1a; <!--换肤--><attr name"userNameColor" format"color" /><attr name"commonColor" format"color" /><…

Eclipse设置Theme主题颜色

设置Eclipse的代码编辑区背景为暗黑色系&#xff1a; 如需转载&#xff0c;请注明转载自&#xff1a;blog.csdn.net/it1988888 相关文件下载&#xff1a;http://guari.github.io/eclipse-ui-theme/ 方案一--下载颜色主题配置文件&#xff0c;离线导入配色方案的设置&#xf…

Jupyter lab Theme 主题更换

Jupyter lab Theme 主题更换 1. 打开Jupyter-lab2. 再拓展插件中搜索 “theme”3. 安装自己喜欢的主题4. 在Setting->JupyterLab Theme->选择"自己刚安装的主题"jupyterlab_miami_nights 主题jupyterlab_onedarkpro 主题 1. 打开Jupyter-lab 2. 再拓展插件中搜…

PySimpleGui theme主题使用

第一章 PySimpleGui theme主题使用 目录 系列文章目录 前言 一、theme是什么&#xff1f; 二、使用步骤 1.打印所有主题&#xff1a; 2.主题设置 3.更新主题的设置 总结 前言 通过设置主题&#xff0c;可快速设置GUI的颜色&#xff0c;节省自己设置UI的时间 一、theme是什么&a…

Hexo修改theme主题

学习目标 本文主要学习的内容如下&#xff1a; 如何去获取到 NexT 主题 如何去安装和配置 NexT 主题 设置菜单&#xff0c;如分类&#xff0c;标签&#xff0c;关于我等简单配置 获取开源的 Hexo 主题 在上节介绍如何快速去搭建 Hexo &#xff0c;最终展示的效果如下图所…

【Android开发基础】应用界面主题Theme使用方法

主题Theme就是用来设置界面UI风格&#xff0c;可以设置整个应用或者某个活动Activity的界面风格。在Android SDK中内置了下面的Theme&#xff0c;可以按标题栏Title Bar和状态栏Status Bar是否可见来分类&#xff1a; •android:theme"android:style/Theme.Dialog" …

Flutter 基础之 Theme 主题(样式篇)

声明&#xff1a;本篇文章已授权微信公众号 YYGeeker 独家发布。 博主原创文章&#xff0c;转载请注明出处&#xff1a;小嵩的博客 一、介绍 Theme 类将主题应用于子控件&#xff0c;Theme&#xff08;主题&#xff09;它描述了应用程序的颜色和排版选择。Theme有两种&#x…