arrayadapter

Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter

房东的猫 提交于 2020-02-28 21:33:38
总结: Adapter相当于一个数据源,可以给AdapterView提供数据,并根据数据创建对应的UI,可以通过调用AdapterView的setAdapter方法使得AdapterView将Adapter作为数据源。 Adapter接口 : Adapter接口定义了如下方法: public abstract void registerDataSetObserver (DataSetObserver observer) Adapter表示一个数据源,这个数据源是有可能发生变化的,比如增加了数据、删除了数据、修改了数据,当数据发生变化的时候,它要通知相应的AdapterView做出相应的改变。为了实现这个功能,Adapter使用了观察者模式,Adapter本身相当于被观察的对象,AdapterView相当于观察者,通过调用registerDataSetObserver方法,给Adapter注册观察者。 public abstract void unregisterDataSetObserver (DataSetObserver observer) 通过调用unregisterDataSetObserver方法,反注册观察者。 public abstract int getCount () 返回Adapter中数据的数量。 public abstract Object getItem

ListView与ArrayAdapter(二)

我的梦境 提交于 2020-02-18 07:31:36
ArrayAdapter: 数组适配器,用于简单的文字列表 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv"> </ListView> </RelativeLayout> Mainactivity.java package com.example.arrayadapter; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget

Android ListView ArrayAdapter 的简单使用

大城市里の小女人 提交于 2020-02-16 06:26:46
前面写了3篇关于android的文章,其中的演示程序都写在了一个工程中,当时为了方便测试就在启动页MainActivity中放了3个按钮,点击不同的按钮进入不同的示例程序页面,MainActivity的界面如下截图: 按照上面的设计,每写一个演示程序就需要在MainActivity中新增一个按钮并为其写点击事件,感觉这样有点麻烦,于是想改进一下,顺便用一下ListView和ArrayAdapter。经过改进后的启动页如下图: 新建了一个MainActivity2,用一个ListView来展现演示程序列表,点击相应列表项就跳转到相应的演示页面,功能和之前的MainActivity一样,但之后就不需要不断添加按钮及其点击事件了,只需要为每个演示页面添加一行代码: catalogs.add(new Catalog("演示的名称", 要跳转到的Activity.class)),这样就简洁多了,具体代码如下。 MainActivity2布局文件如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=

android 动态改变listview的内容

ぐ巨炮叔叔 提交于 2020-02-14 12:56:23
本文模拟:点击一个按钮,为已有的listview添加一行数据 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:text="点击改变listview" android:onClick="changeListView" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> package com.example.listView_MultiPage; import android.app.Activity; import android

ListView与ArrayAdapter的搭配使用

混江龙づ霸主 提交于 2020-02-10 09:02:48
在android中,ListView是一种很重要的控件,一般的使用中,常建立一个所需类型的ArrayList,再通过ArrayAdapter把ListView绑定到ArrayList上,通过ArrayAdapter来使ListView显示和刷新内容。 假定现在有一String类型的ArrayList,叫myArrayList,建立ArrayAdapter并将其与myArrayList绑定的代码如下: 1 ArrayAdapter<String> myArrayAdapter = 2 new ArrayAdapter<String>(this, android.layout.simple_list_item_1, myArrayList); 其中android.layout.simple_list_item_1是android本身的一个基本listview,在实际中也可以自建一个listview。 当有新的内容时,先将String添加到myArrayList,然后通过以下代码完成ListView的刷新显示: 1 myArrayList.add(0, myString); 2 myArrayAdapter.notifyDataSetChanged(); 上面add方法的第一个参数是新String要添加的位置,从0开始一次递增。notifyDataSetChanged(

简单好用的Adapter---ArrayAdapter

醉酒当歌 提交于 2020-02-10 04:49:06
拖延症最可怕的地方就是:就算自己这边没有拖延,但对方也会拖延,进而导致自己这边也开始拖延起来!现在这个项目我这边已经是完工了,但是对方迟迟没有搞定,导致整个项目无法提交。 这就是拖延症的可怕:我们不仅是与自己的拖延症作战,而是与所有有关人士的拖延症作战,决定项目是否能够提交,在于那个最慢的人。 既然决定权已经不在我的手上,那么我也可以做做其他事情,像是现在这样写写博客。 这次就介绍一下ListView中比较简单但又非常方便的ArrayAdapter。 ArrayAdapter是BaseAdapter的派生类,在BaseAdapter的基础上,添加了一项重大的功能:可以直接使用泛型构造。 我们先来看一个简单的例子: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = (ListView) this.findViewById(R.id.list); UserAdapter adapter = new UserAdapter(this, R.layout.list_item); adapter.add(new User(10,

一个初学者对ArrayAdapter的简单理解

偶尔善良 提交于 2020-02-10 03:01:57
1. 适配器的作用是数据和视图之间的桥梁 2. 要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类。 3. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>( ArrayListDemo.this, android.R.layout.simple_list_item_1, adapterData); 这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二个参数对应的布局中,这样就形成了我们看到的listView. 华丽的分割线 --------------------------------------------------------------------------------- ---------------------------------------

使用Adapter为ListView提供数据(其一)

送分小仙女□ 提交于 2020-02-10 02:56:45
通常我们需要展示一些列表集合数据到手机屏幕时,通常采用ListView组件,该组件提供一些可以定制的列表展示功能,但是它需要数据源,android通过数据适配器来沟通ListView与数据源。可以充当ListView数据设配器的adapter有很多,可定制性也更加广泛。通常有如下几种: ArrayAdapter SimpleAdapter CursorAdapter ,他们都来继承自BaseAdapter。 结构 继承关系 public interface ListAdapter extends Adapter android.widget.ListAdapter 子类及间接子类 直接子类 ArrayAdapter<T>, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, WrapperListAdapter 从上述可以知道,ListView需要的是继承自ListAdapter接口的类,也可以知道它的一些子类是我们需要讲到的,现在开始 现在我们首先采用ArrayAdapter,ArrayAdapter<T> 它接受一个泛型对象。在这里我们可以使用String类型,用来表示文字吧。 我们提供字符串数组作为数据源

ArrayAdapter与SimpleAdapter的使用

对着背影说爱祢 提交于 2020-02-10 02:11:54
在使用ListView中我们使用到adapter,android中为我们不仅提供了BaseAdapter类来让我们自定义自己的Adapter,还为我们提供了ArrayAdapter以及SimpleAdapter。现在让我们简述一下,这两个类的使用方法。 package xidian.dy.com.chujia; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lv = (ListView) findViewById(R.id.lv); String[] str = new String[]{"fdfas", "fdsf", "fafda"}; if

【Android基础】UI控件

核能气质少年 提交于 2020-01-19 17:01:39
一、TextView 1、常用属性 属性 描述 android:text 显示内容 android:textSize 显示内容的字体大小,sp android:textColor 显示内容的颜色 android:lines 初始显示的行数 android:maxLines 最大显示的行数 android:ellipsize 字过长不想换行,可以使用省略号,此值表示省略号的位置 android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/all) 二、Button Button继承自TextView,他主要是在界面生产一个按钮,默认可点击。 当点击按钮时,会触发一个onClick事件。 可以为按钮设计图片。通过设计background属性来为Button添加背景图片 三、EditText EditText控件与TextView控件非常相似。EditText相比TextView的最大变化是可以接受用户的输入,可以说它是用户和安卓应用进行数据传输窗户,有了它就等于有了一扇和安卓应用传输的门,通过它用户可以把数据传给安卓应用,然后得到我们想要的数据。 1、常用属性 属性 描述 android:hint 提示文字 android:textColorHint 提示文字的颜色