当前位置:
文档之家› 列表类组件(Spinner、ListView)
列表类组件(Spinner、ListView)
super.onListItemClick(l, v, position, id); String result = l.getItemAtPosition(position).toString();// 获
取选择项的值
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
方法,设置footer View。 5、android:headerDividersEnabled 用于设置是否在header View后绘制分隔条,默认为true。 当设为false时,ListView将不会在各个header之间绘制
divider,否则要通过addHeaderView()方法设置header View。
ArrayAdapter<String>(this,yout.
simple_list_item_checked,ctype); listView.setAdapter(adapter);// 将适配器与ListView关联
3. 添加OnItemClickListener事件
(2)Spinner下拉列表框
如何使用Spinner 1、获取Spinner对象 2、创建Adapter
3、为Spinner对象设置Adaper
4、为Spinner对象设置监听器 创建Adapter分为两步: 1、新建Adapter对象inner对象 通过Acitivity.findViewById(int id)获取 2、创建Adapter 3个参数: Context上下文关系,属于哪个应用程序 textViewResourceId,TextView的ID 向列表中添加数据,静态的String数组,或者动态的数组 List<String> 3、为Adapter设置下拉视图资源 ArrayAdapter.setDropDownViewResource(int resource)方法设置 4、为Spinner对象设置Adapter AbsSpinner.setAdapter(SpinnerAdapter adapter)将Spinner和 SpinnerAdapter关联 5、为Spinner对象设置监听器 添加监听事件
setListAdapter(adapter);//设置该窗口中显示的列表
3、添加onListItemClick()方法
@Override protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
2. 建Adapter对象,并进行关联
import android.widget.AdapterView.OnItemClickListener;
ListView listView=(ListView) findViewById(R.id.listView1); String[] ctype=new String[]{"C#编程词典","JAVA编程词典","VB编程 词典","VC编程词典","编程词典"}; ArrayAdapter<String> adapter=new
导入类:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView;
● 在Java文件中使用字符串数组创建
方法:首先需要创建一个一维的字符串数组,保存要显示
的列表项;使用ArrayAdapter类构造方法 ArrayAdapter(Context context, int textViewResourceId, T[] objects)创建ArrayAdapter类 的对象。 代码:
获取选择项的值 Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();//显示提示消息框 }
②让Activity继承ListActivity实现
如果仅仅显示一个列表,可以直接让Activity继承 ListActivity实现,不用调用setContentView()方法显示界 面,直接设置适配器。 1、ListView在XML中不需要添加 2、Java代码中把setContentView()方法删除
String[] ctype=new String[]{"C#编程词典","JAVA编程词典","VB编程词 典","VC编程词典","编程词典"}; ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, yout.simple_list_item_single_choice,ctype);
String[] ctype=new String[]{“身份证”,“学生证”,“军官证"}; ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, yout. simple_list_item_checked, ctype);
说明:创建ArrayAdapter对象时需要指定列表项的外观形 式,ListView可以指定五种:
simple_list_item_1:每个列表项都是一个普通的文本;
simple_list_item_2:每个列表项都是一个普通的文本(字体稍大); simple_list_item_checked:每个列表项都有一个已勾选的列表项; simple_list_item_multiple_choice: 每个列表项都带多选框; simple_list_item_single_choice:每个列表项都带单选按钮。
注意:对于某些固定的资源,这种方法比在程序中添加资源更加简便。
4、android:footerDividersEnabled 用于设置是否在footer View绘制分割条,默认为true。当设 为false时,ListView将不会在各个footer之间绘制divider 。
当设为true时,需要通过ListView组件提供的addFooterView()
①直接利用ListView组件创建
<ListView 属性列表 /> 常用属性: 1、android:divider 用于为列表视图设置分割条,既可以用颜色color分隔,也可以用 Drawable资源分隔。 2、android:dividerHeight
用来指定分隔条divider的高度
3、 android:entries 用于通过数组资源为ListView指定列表项
2、使用名字为ctype的字符串数组。在res/values目
录下的strings.xml中添加
<resources> <string name="app_name">ListView1</string> <string-array name="ctype"> <item>C#编程词典</item> <item>JAVA编程词典</item> <item>VB编程词典</item> <item>VC编程词典</item> <item>ASP编程词典</item> <item>Delphi编程词典</item> <item>编程词典</item> </string-array> </resources>
ArrayAdapter<CharaSequence> adapter= ArrayAadpter. CreateFormResource(this, R.array.ctype, yout.simple_list_item_checked);
实例:显示一个ListView列表(JAVA代码添加)
实例:显示一个ListView列表(用JAVA代码实现)
1、思路:通过设置Adapter指定需要显示的列表项 Adapter:Adapter数据适配器,用于连接后端数据和前
端显示的适配器接口,使数据绑定到控件上更简单和灵活,
是列表数据和数据源之间的桥梁。 2、步骤 (1)创建Adapter对象 ●通过数组资源文件创建,使用ArrayAadpter类中的 CreateFormResource()方法
(路径: \android\SDK\platforms\android-8\data\res\layout )
(2)将创建好的适配器对象和ListView关联 listview.setAdapter(adapter);
实例ListView的实现步骤
1. Xml文件中添加ListView
<ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@drawable/icon" android:dividerHeight="3px" />