Mono for Android 下的 ListActivity 介绍 Mono for Android 平台下 ListActivity 的使用, 以及如何进行自定义 ListActivity 的 Adapter 使用 ListActivity 最简单的方式 ListActivity 是 android 开发中很常用的布局组件, 通常用于显示可以滚动的列表项。 以 ArrayAdapter<T> 为例, 最简单的使用方法如下: 1、 新建一个 Activity , 名称为 MyListActivity , 并修改其基类为 Android.App.ListActivity , 代码如下: [Activity (Label = "MyListApp", MainLauncher = true)] public class MyListActivity : ListActivity ListActivity的使用就是这么简单, 但是这往往不是我们所需要的, 接下来将会对上面的代码进行一些重构。
在ListView中显示网络图片 ImageView 类虽然有一个 setImageUri 方法,但不能直接接受一个由网络地址生成的uri作为参数从而显示图片,我们只好使用其 setImageBit
一、使用ListActivity 如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity继承ListActivity来实现, ListActivity的子类无须调用setContentView ()方法来显示某个界面,而是可以直接传入一个内容Adapter,ListActivity的子类就呈现出一个列表。 接下来通过一个简单的示例程序来学习基于ListActivity实现列表。 的布局文件中只有一个ListView,只需要为ListActivity设置Adapter即可。 从上图可以看到,ListActivity的默认布局是由一个位于屏幕中心的列表组成的。
在实际的使用过程中,可以使用 ListActivity 这种更简单的方式。 在使用列表类 ListView 时通常使用 ListActivity 来代替 Activity,ListActivity 扩展了 Activity 可以方便 ListView的使用,主要的方法包括以下几个 进行操作,主要的实现部分如下所示: public class List1 extends ListActivity { // 扩展实现 ListActivity @Override 如果需要实现对列表项选择的操作,可以通过实现 ListActivity 的 onListItemClick()等函数完成。 ListActivity 的交互。
ListView 创建一个名称为HelloListView的Android工程,可以参见 Android 第一个Android应用,HelloWorld 要使用ListView,需要让你的Activity继承于ListActivity ,这个和以前的有区别,以前的都是继承Activity,该ListActivity继承Activity,扩展了很多常用的用于操作ListView的方法,使用很方便。 现修改HelloListView类如下 public class HelloListView extends ListActivity { /** Called when the activity 二:使用xml来自定义ListView 上个例子我们并没有使用在main.xml中定义一个ListView的形势来布局ListView,而是使用的ListActivity中默认的ListView来演示的 修改HelloListView类为: public class HelloListView extends ListActivity { /** Called when the activity
公司名称简写.应用名称简写(拼音或者英文).activity.list 在activity下面建一个文件夹list放所有的ListActivity com. 当你看到这个界面时列表数据的时候 直接搜索listActivity就能过滤掉一大部分,然后再筛选会简单很多。这个大家从上面我定义的包名中就看出来了。 所以 activity的命名是 : 功能简写+Activity 功能简写+ListActivity 登录:LoginActivity 用户列表:UserListActivity 2. layout
熟练掌握ListActivity的应用。 Activity介绍 l对于任何一个Android应用程序来讲,Activity类都是其核心组成部分。 这时onRestoreInstanceState和onCreate都会得到这些信息 lonCreate在第一次创建时也会执行 所以数据的恢复任务应该在onCreate写更好 ListActivity 是一个默认包含一个ListView的Activity 写一个类继承ListActivity就获得了包含ListView的Activity 通过setListAdapter方法可以为ListView 提供适配器 通过getListView可以获得ListView的对象 调用其中的setEmptyView的方法可以设置ListView为空时的显示视图 ListActivity默认注册了
熟练掌握ListActivity的应用。 Activity介绍 l对于任何一个Android应用程序来讲,Activity类都是其核心组成部分。 Activity时会传回这些信息 这时onRestoreInstanceState和onCreate都会得到这些信息 lonCreate在第一次创建时也会执行 所以数据的恢复任务应该在onCreate写更好 ListActivity 是一个默认包含一个ListView的Activity 写一个类继承ListActivity就获得了包含ListView的Activity 通过setListAdapter方法可以为ListView提供适配器 通过getListView可以获得ListView的对象 调用其中的setEmptyView的方法可以设置ListView为空时的显示视图 ListActivity默认注册了OnItemClickListener
首先xml布局中将ListView的id设置为系统id,即“@android:id/list”,然后页面的代码类继承ListActivity。 该方式无需在代码中获取ListView的对象,直接调用setListAdapter方法设置适配器,同时实现ListActivity的点击方法onListItemClick来响应点击事件。 两种使用方式的区别如下: 1、ListActivity方式的视图id被设置为系统id,不方便在代码中修改该列表视图的属性; 2、ListActivity方式只实现点击方法、未实现长按方法,不方便响应列表项的长按事件 如果有个页面采用ListActivity方式,就无法继承使用这个Activity基类了。 从上面可以看出,ListActivity方式的限制较多,所以实际开发中我们还是使用普通Activity方式来开发ListView。
案例一 1 public class ArrayAdapterActivity extends ListActivity { 2 @Override 3 public void 下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方面显示而已。 " 18 android:textSize="20sp" 19 /> 20 </LinearLayout> 1 public class SimpleAdapterActivity extends ListActivity 3)SimpleCursorAdapter 1 public class SimpleCursorAdapterActivity extends ListActivity { 2 @Override LinearLayout> 1 /** 2 * @author 3 * 4 */ 5 public class MyListView4 extends ListActivity
公司名称简写.应用名称简写(拼音或者英文).activity.list 在activity下面建一个文件夹list放所有的ListActivity com. 当你看到这个界面时列表数据的时候 直接搜索listActivity就能过滤掉一大部分,然后再筛选会简单很多。这个大家从上面我定义的包名中就看出来了。 所以 activity的命名是 : 功能简写+Activity 功能简写+ListActivity 登录:LoginActivity 用户列表:UserListActivity 2. layout
java.util.ArrayList; import java.util.Arrays; import android.app.DialogFragment; import android.app.ListActivity 进行旋转的情况,有意的避开这种情况,后面例子会介绍解决方案 * @author zhy * */ public class SavedInstanceStateUsingActivity extends ListActivity java.util.ArrayList; import java.util.Arrays; import android.app.DialogFragment; import android.app.ListActivity import android.widget.Toast; /** * @author zhy * */ public class ConfigChangesTestActivity extends ListActivity android.widget.ArrayAdapter; import android.widget.ListAdapter; public class FixProblemsActivity extends ListActivity
import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.ListActivity import android.widget.ListView; import android.widget.SimpleAdapter; public class QureSms extends ListActivity
id,并杀死当前进程,不可杀死其他程序进程 Activity管理类 public class ActivityCollector { public static List<Activity> listActivity ArrayList<>(); /** * 添加活动 * */ public static void addActivity(Activity activity){ listActivity.add (activity); } /*删除活动*/ public static void removeActivity(Activity activity){ listActivity.remove activity); } /*销毁所有活动*/ public static void finishAllActivity(){ for (Activity activity:listActivity
,query.xml是查询界面,DBHelper是数据库操作类,MainActivity和QueryActivity分别对应main和query的Activity,其中,QueryActivity继承ListActivity com.lzugis.database; import android.os.Bundle; import android.app.AlertDialog; import android.app.ListActivity android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; public class QueryActivity extends ListActivity
/> 20 </LinearLayout> MainActicity.xml 1 package com.szy.listview; 2 3 import android.app.ListActivity *@date 2012-3-27 18 *@blog http://blog.92coding.com 19 */ 20 public class MainActivity extends ListActivity
variable name="clickPresenter" type="com.hfy.demo01.module.jetpack.databinding.ListActivity.ClickPresenter match_parent" android:orientation="vertical" tools:context=".module.jetpack.databinding.ListActivity android:text="@{user.level}"/> </LinearLayout> </layout> 我们看下,在Activity中是如何处理的: public class ListActivity public class ClickPresenter { public void addUser(View view) { Toast.makeText(ListActivity.this User("小z","Lv5")); } public void removeUser(View view) { Toast.makeText(ListActivity.this
文件夹页面 布局只有一个listview,可以继承listactivity,这样少写一个布局文件 tool: * @param index 箱子的索引值 * @return * 对应的uri 或null return MyConstants.URI_SENT; } return null; } FolderUI :可以用%来改变条目的颜色 public class FolderUI extends ListActivity
可以通过OnItemSelectedListener监听选择项的改变 14.列表试图(ListView和ListActivity) 创建ListView由两种方式: 直接使用ListView进行创建 让Activity继承ListActivity(继承了ListActivity的类无需调用setContentView()来显示页面,可以直接设置适配器) 一旦获得ListView后,就要创建显示的列表项了
SimpleAdapter 同样可作为 ListActivity 的内容Adapter,这样可以让用户方便地定制ListActivity所显示的列表项。