android 界面之 listview
来源:互联网 发布:知乎心理学书籍推荐 编辑:程序博客网 时间:2024/06/06 19:37
表的显示需要三个元素:
1.准备ListView要显示的数据;
2.使用一维或多维动态数组保存数据;
2.构建适配器, 简单地来说,适配器就是Item数组,动态数组有多少元素就生成多少个Item;
3.把适配器添加到ListView,并显示出来。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
最简单的例子:
activity_main.xml文件,用于描述整个ListView的属性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/listview"
/>
</LinearLayout>
list_view_item.xml文件,用于描述单个Item的属性
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
JAVA代码:
package tk.orangers.android_activity004_listactivity;
import java.util.ArrayList;
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView list = (ListView)this.findViewById(R.id.listview);
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
for(int i=0;i<30;i++)
{
HashMap<String, String> map = new HashMap<String, String>();
map.put("ItemTitle", "This is Title"+i);
map.put("ItemText", "This is text"+i);
mylist.add(map);
}
//生成适配器,数组===》ListItem
SimpleAdapter mSchedule = new SimpleAdapter(this, //没什么解释
mylist,//数据来源
R.layout.list_view_item,//ListItem的XML实现
//动态数组与ListItem对应的子项
new String[] {"ItemTitle", "ItemText"},
//ListItem的XML文件里面的两个TextView ID
new int[] {R.id.Title,R.id.text});
//添加并且显示
list.setAdapter(mSchedule);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
--------高级--------------------------------------------------------------------------------------------------------------
继承ListActivity
重写onCreate()
生成adapter
setAdapter()
重要事件:
void onListItemClick(ListView l,view v,int position,long id)//
- android 界面之 listview
- Android学习笔记之ListView聊天界面
- Android之ListView打造聊天界面
- 聊天界面之ListView
- Android 界面ListView使用
- [Android 界面]ListView性能优化之视图缓存
- android界面之ScrollView嵌套ListView冲突问题
- Android之ListView列表视图和界面跳转实现
- 【Android】安卓学习笔记之定制ListView 的界面
- Android Studio ListView+SimpleAdapter使用之仿酷狗界面
- android-ListView实现复杂界面
- Android studio 定制 ListView 界面
- [ListView]android ListView之EmptyView
- 【Android成长之路】最常用和最难用的控件——ListView的浅谈(定制ListView 的界面)
- 【Android开发学习28】界面控件之列表控件(ListView)--显示字符数组
- 【Android开发学习29】界面控件之列表控件(ListView)--显示图片和文本
- Android透明界面与ListView动态刷新
- Android透明界面与ListView动态刷新
- 算法导论 4.1-1
- Python正则表达式指南
- error 1044 (42000):access denied for user ''@'localhost' to database 'mysql'错误解决方案
- 得到窗口的句柄方法
- 查找到SQL Server存储过程和函数里的关键词
- android 界面之 listview
- android 调试经验 .
- 如何破解联网收费软件,求高手指点
- C#引用C++ Dll 所有类型转换的方式
- try{} catch(…){}
- 国外程序员推荐:每个程序员都应读的书
- Qt 经典出错信息之”Basic XLib functionality test failed!”(Z..z..)
- sql笔记整理之子查询
- 10409 - Die Game