可以通过ListView和ArrayAdapter两个类协助来完成:
1. 新建一个工程,将Layout文件的根视图改成ListView,当然也可以将ListView插到根视图里,这里用的是改根视图的方式:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> <?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listview_main">
</ListView>
2. 在Activty里面写下面的代码:
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> package colin.demo;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class MainFrom extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 取得ListView
mListView = (ListView)findViewById(R.id.listview_main);
// 创建一个ArrayAdapter
ArrayAdapter<String> uiDemoList = new ArrayAdapter<String>(this, R.layout.textview_item, mDemoList);
mListView.setAdapter(uiDemoList);
// 使ListView支持过滤搜索
mListView.setTextFilterEnabled(true);
// 设置事件
mListView.setOnItemClickListener(mItemClickListenter);
}
private void ShowMessage(CharSequence msg)
{
if (mToast == null)
mToast = Toast.makeText(this, msg, Toast.LENGTH_LONG);
mToast.setText(msg);
mToast.show();
}
private OnItemClickListener mItemClickListenter = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
// 弹个Tooltip出来
ShowMessage(mDemoList[position]);
}
};
private Toast mToast;
private ListView mListView;
private String [] mDemoList =
{
"DemoView1", "DemoView2", "DemoView3",
};
}
这里最重要的是ArrayAdapter的创建,构造函数声明如下:
public ArrayAdapter (Context context, int textViewResourceId, T[] objects)
*. textViewResourceId 这是一个Layout的资源ID,其根元素必须是一个TextView,显然ArrayAdpater要用这个TextView作为模板设置给ListView,让它作为ListView的一项显示。
*. Objects 是代表数据列表,ArrayAdapter会调用T的toString(),将它显示到TextView上。我们这里将T设为String类型,但其实它可以不是String的。
3. 上面看到ArrayAdapter需要一个Layout的ID,我们现在要创建这个Layout
*. 在Package Explorer的Res处右键菜单,点击New/Others...
*. 在弹出来的对话框处,选择Adroid/Android XML File
*. 在弹出来的对话框处,输入下面消息:
在File处输入textview_item.xml
在What type of resource would you like to create处选择Layout
在Select the root element for the XML file处选择TextView
*. 点击确定,就在res/layout目录下创建了一个textview_item.xml的布局文件。
你可以设置TextView的属性,这些设置都会反映到列表框中。
代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> <?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:text="text" android:textSize="12pt" android:typeface="sans">
</TextView>
4. 最后运行程序,可以看到下面的程序:
上面的例子反映了视图与Adapter的关系,使用它们可以创建出很多样的界面,这是以后的主题了。
我们这里用的数据项是String,但事实上可以用其他的类,你可以自定义一个类,包含一些数据,然后覆盖toString()方法,返回字符串给ListView显示。
分享到:
相关推荐
口袋笔记-- 一个简单的记事本app,具有多色彩主题,自带日历视图,记事可以是列表显示也可以是网格显示,提醒功能,隐私保护功能等。项目地址:https://github.com/channguyen/pocket-note-android 效果图:
在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。这篇开发笔记将深入讲解如何使用ListView以及其中的一些关键知识点。 首先,ListView的工作原理是通过Adapter来连接数据源和视图。当我们...
本自学笔记将重点讲解如何在Android项目中创建并使用ListView,包括基本的设置、数据绑定和适配器的使用。 首先,我们需要在布局文件中添加ListView元素。在XML布局文件中,通过`<ListView>`标签定义ListView,可以...
- **用户界面**: 使用Android Studio的布局编辑器设计用户界面,包括输入框、按钮和列表视图等。 - **事件监听**: 为UI元素设置监听器,响应用户的操作,如点击按钮保存笔记。 - **Intent**: Android系统中的消息...
6. UI设计和组件:Android平台提供了丰富的UI组件,如按钮、文本框、列表视图等,开发者可以利用这些组件创建直观、易用的用户界面。 7. 应用开发实践:通过实例演示和样例代码,教程将教授如何开发一个Android应用...
除了核心的MVP架构,此应用还会用到Android的一些关键组件,例如`Activity`作为应用程序的主要入口点,`Intent`用于启动其他组件或传递数据,`RecyclerView`用于显示笔记列表,`Adapter`将数据绑定到列表视图,`...
同时,可能还用到了EditText用于输入笔记内容,Button用于触发操作,RecyclerView或者ListView用于显示笔记列表。通过适配器(Adapter)将数据与视图绑定,可以动态加载和更新列表内容。 此外,事件监听和回调机制...
本教程“新版Android开发教程 笔记7--基础UI编程1”着重于引导开发者掌握构建基本Android UI的基础知识。下面将详细阐述其中的关键知识点。 1. **Android布局(Layouts)**: Android提供了多种布局管理器,如线性...
标题和描述提及了“新版Android开发教程+笔记七--基础UI编程1”,以及“安卓开发必备”,因此本篇内容将主要围绕Android基础UI编程展开。 Android UI编程是构建Android应用界面的核心部分。它涉及到使用各种布局和...
在Android开发中,Spinner是一个非常重要的基本视图组件,它为用户提供了一个下拉选择菜单,通常用于展示一组有限的选项。本篇学习笔记将深入探讨Spinner的使用、工作原理以及如何自定义它来满足特定需求。 一、...
1. **创建数据库**:在SQLiteOpenHelper的子类中,定义一个构造函数,传入上下文和数据库版本号。在onCreate()方法中,使用SQL语句创建表格,例如: ```java @Override public void onCreate(SQLiteDatabase db) ...
使用Android Studio内置的布局编辑器(XML)设计笔记APP的用户界面,通常包括主界面、笔记列表视图、笔记详情视图以及添加/编辑笔记的界面。可以利用RecyclerView展示笔记列表,EditText用于输入笔记内容,Button...
在这个demo中,可能会看到如何在ListView中显示SQLite数据库中的笔记列表,包括设置适配器,处理点击事件等。 在这个"Android记事本-demo"中,开发者可能还会涉及到UI设计,使用XML布局文件创建界面,以及使用...
6. `Android_L_Notes.psd`:代表笔记应用的设计,可能包含笔记列表、新建笔记的界面,以及编辑和查看笔记的功能。 7. `Android_L_Travel.psd`:可能是一个旅行相关的界面,如行程规划、目的地介绍等,可能包含地图...
同时,这份笔记可能还会涵盖如何使用Adapter来连接数据源和ListView、RecyclerView等列表视图,实现数据的动态加载和滚动效果。 最后,"新版Android开发教程&笔记四--Dalvik ADB.pdf"讲解了Dalvik虚拟机和Android ...
首先,DroidDraw提供了丰富的预定义组件,如按钮、文本框、图像视图、列表视图等,这些都是构建Android应用界面的基本元素。开发者可以通过选择这些组件,直接在设计画布上放置,省去了手动编写布局XML的繁琐步骤。 ...
Android提供了丰富的UI组件,如按钮(Button)、文本框(EditText)、列表视图(ListView)、网格视图(GridView)等。通过组合这些组件,开发者可以创建出复杂的用户交互。 六、事件处理 Android使用监听器...
【Android代码-Knote】是关于开发一款名为Knote的简单Android笔记应用的源代码库。这个项目主要关注Android平台上的应用程序开发,旨在提供一个轻量级、用户友好的笔记工具。下面将详细介绍在这个项目中涉及的...
TimeBar通常是指一种时间轴视图,用于展示和导航与时间相关的数据,比如笔记的创建或修改日期。 【描述分析】 描述提到,这是一个包含多个文件的压缩包,可能包含了源代码、资源文件和其他必要的构建元素。由于“太...
1. **Android Studio环境**:如何使用Android Studio进行项目创建、调试和打包。 2. **Activity生命周期**:理解`onCreate()`、`onStart()`、`onResume()`等方法,以及如何在不同状态间切换。 3. **UI设计**:通过...