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

androidListView示例3使用ListActivity创建ListView

如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity集成ListActivity来实现,ListActivity的子类无须调用setContentView方法来显示某个

如果程序的窗口仅仅需要显示一个列表,则可以直接让Activity集成ListActivity来实现,ListActivity的子类无须调用setContentView方法来显示某个界面,而是可以直接传入一个内容Adapter,ListActivity的子类就呈现出一个列表。
例如,将使用示例2的例子修改一下,如下:

package com.toby.personal.testlistview;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class MainActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] array1 = {"C", "C++", "Qt", "QML"};
ArrayAdapter arrayAdapter1 = new ArrayAdapter<>(this, R.layout.array_lang, array1);
setListAdapter(arrayAdapter1);
}
}

上面程序的Activity继承了ListActivity,ListActivity无须界面布局文件。运行效果如下:

《android ListView 示例3 使用 ListActivity 创建 ListView》 20170227215236

我们还可以在onCreate方法中使用setContentView方法设置自定义布局。但是这时需要在布局文件中指定一个id为“@+id/android:list”(如果是代码形式,则是android.R.id.list)的ListView。例如,我们自定义名为my_list_view的ListView如下:


xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@color/colorPrimaryDark"
android:layout_weight="1"
android:drawSelectorOnTop="false"
/>

然后在onCreate方法中使用setContentView方法,设置my_list_view的自定义布局文件:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_list_view);
String[] array1 = {"C", "C++", "Qt", "QML"};
ArrayAdapter arrayAdapter1 = new ArrayAdapter<>(this, R.layout.array_lang, array1);
setListAdapter(arrayAdapter1);
}

上述自定义的ListView的运行效果如果:

《android ListView 示例3 使用 ListActivity 创建 ListView》 20170227215601

参考文献:《疯狂Android讲义(第2版)》


推荐阅读
author-avatar
HoerenRegen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有