移动开发|安卓开发_浅谈ListView(ArrayAdapter数组适配器)

列表视图(ListView)以垂直的形式列出需要显示的列表项。

实现过程:新建适配器->添加数据源到适配器->视图加载适配器
【移动开发|安卓开发_浅谈ListView(ArrayAdapter数组适配器)】
在安卓中,有两种方法可以在屏幕中添加列表视图
1、直接用ListView组件创建
2、让Activity继承ListActivity实现

一、xml文件方式创建列表
布局文件代码

1 2 6 7 13 14 15 16


相应的res/layout 中 数组资源
1 2 3xqx_lianxi 4/数组资源名称为list 与layout中对应 5山东大学 6山东科技大学 7山东理工大学 8山东建筑大学 9山东农业大学 10济南大学 11烟台大学 12鲁东大学 13临沂大学 14聊城大学 15 16


java代码
1 package xqx; 2 3 import com.example.xqx_lianxi.R; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.AdapterView; 9 import android.widget.Toast; 10 import android.widget.AdapterView.OnItemClickListener; 11 import android.widget.ListView; 12 13 public class List_lianxi extends Activity{ 14ListView list; 15@Override 16protected void onCreate(Bundle savedInstanceState) { 17// TODO Auto-generated method stub 18super.onCreate(savedInstanceState); 19setContentView(R.layout.list_lianxi); 20 21list = (ListView) findViewById(R.id.listView1); 22 23//为列表视图中选中的项添加响应事件 24list.setOnItemClickListener(new OnItemClickListener() { 25 26@Override 27public void onItemClick(AdapterView parent, View arg1, int pos, 28long id) { 29// TODO Auto-generated method stub 30String result = parent.getItemAtPosition(pos).toString(); //获取选择项的值 31Toast.makeText(List_lianxi.this, "点击了 "+result, Toast.LENGTH_SHORT).show(); //输出选中项消息 32} 33}); 34} 35 36 }


效果图:
移动开发|安卓开发_浅谈ListView(ArrayAdapter数组适配器)
文章图片

二、java代码动态创建列表
1、布局文件
1 2 6 7//这里就不用指定数据源了 11 12 13

2、Acitivity代码
1 package price_ui; 2 3 import com.example.allcode.R; 4 5 import android.app.Activity; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.AdapterView; 9 import android.widget.AdapterView.OnItemClickListener; 10 import android.widget.ArrayAdapter; 11 import android.widget.ListView; 12 import android.widget.SimpleAdapter; 13 import android.widget.Toast; 14 15 public class ListView_test extends Activity{ 16private ListView list; 17private ArrayAdapter arrayadapter; 18private SimpleAdapter simpleadapter; 19 20@Override 21protected void onCreate(Bundle savedInstanceState) { 22// TODO Auto-generated method stub 23super.onCreate(savedInstanceState); 24setContentView(R.layout.listview_text); 25 26list = (ListView) findViewById(R.id.id_listview); 27String schools[] = {"山东大学","山东理工大学","山东科技大学","山东农业大学"}; 28//新建适配器,适配器加载数据源 29//第一个参数:上下文 30//第二个参数:当前列表项加载的布局文件 31//第三个参数:数据源 32 33arrayadapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, schools); 34 35//ListView视图加载适配器 36list.setAdapter(arrayadapter); 37 38//为列表视图中选中的项添加响应事件 39list.setOnItemClickListener(new OnItemClickListener() { 40 41 42 43@Override 44public void onItemClick(AdapterView parent, View arg1, int pos, 45long id) { 46// TODO Auto-generated method stub 47String result = parent.getItemAtPosition(pos).toString(); //获取选择项的值 48Toast.makeText(ListView_test.this, "点击了 "+result, Toast.LENGTH_SHORT).show(); //输出选中项消息 49} 50}); 51} 52 53 }


转载于:https://www.cnblogs.com/xqxacm/archive/2013/06/07/4149410.html

    推荐阅读